0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Excel countif関数でクロス表を作るときに注意すべきこと

Last updated at Posted at 2021-05-27

概要

下の表①からクロス表を作る方法

表①

ID 性別 年齢
A1 男性 35
A2 女性 33
A3 男性 22
A4 男性 45
A5 女性 27
A6 男性 51
A7 女性 35

できたクロス表

性別/年齢 30歳未満 30歳以上 合計
男性 1 3 4
女性 1 2 3
合計 2 5 7

やらかしたミス

条件を指定して数を数えるにはcountif関数が有効です
しかし、いきなりこのクロス表に下のように入力すると

性別/年齢 30歳未満 30歳以上 合計
男性 =COUNTIF(A:C,AND(B:B=男性,C:C<30))
女性
合計

結果

性別/年齢 30歳未満 30歳以上 合計
男性 0
女性
合計

このようにエラーこそ出ませんが
正しい値は出てきません

理由はそもそもcountif関数の入力方法が間違っています
countif 関数は 指定した範囲で条件に当てはまるものを数えるのですが
項目(B:BやC:C)の指定はできません

正しい使い方

countif(B:B,"男性") これでB列の男性というセルの数を出力します
この例でいうとB:Bは探す範囲です
後ろの"男性"の部分には検索範囲を入れてはいけません

正しい手順

まずcountif関数では複数条件で数えることができません

そのため、まずクロス表のセルごとに計算します
表①の年齢の右に
==IF(B2="男性",IF(E2<30,"M_U","M_O"),IF(E2<30,"W_U","W_O"))を入力します

これでその行の人物がクロス表のどこに当てはまるかを表しています

M_U:男性で30歳未満(ManとUnder)
M_U:男性で30歳以上(ManとOver)
W_U:女性で30歳未満(WomanとUnder)
W_U:女性で30歳以上(WomanとOver)

その後にクロス表のセルにcountifで対応したものを入れれば完成です!
合計の部分はsum関数で!

性別/年齢 30歳未満 30歳以上 合計
男性 =COUNTIF(D:D,"M_U") =COUNTIF(D:D,"M_O") =sum()
女性 =COUNTIF(D:D,"W_U") =COUNTIF(D:D,"W_O") =sum()
合計 =sum() =sum() =sum()

さいごに

今回はcountifでクロス表を作りたいときに起こりがちなミスを解説しました
検定で使うこともあると思うので、調べる手間を省きましょう!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?