• 締切済み

どの関数を使用したらいいでしょうか?

エクセル2010を使用しています。 例えば… sheet1    セルA   Ɩ セルB(年齢)ƖセルC ――――――――――― 行1 Aさん   Ɩ 22 Ɩ 1 行2 Bさん  Ɩ 31   Ɩ 2 行3 Cさん  Ɩ 29  Ɩ 3 行4 Dさん  Ɩ  35  Ɩ 1 行5 Eさん   Ɩ  43 Ɩ 3 と言うようなデータがあり、 sheet2   Ɩ 20代 Ɩ 30代 Ɩ 40代 ―――――――――― 1 Ɩ     Ɩ     Ɩ 2 Ɩ     Ɩ     Ɩ 3 Ɩ     Ɩ     Ɩ 上記のような表(「1」で「20代」は何人いるか)を作成する場合どの関数使用になりますか? また、関数を使った時どのような数式になりますでしょうか? 回答お願いします。

みんなの回答

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.5

 まず、Sheet2のB2セルに次の関数を入力して下さい。 =COUNTIFS(Sheet1!$B:$B,">="&SUBSTITUTE(B$1,"代",),Sheet1!$B:$B,"<"&SUBSTITUTE(B$1,"代",)+10,Sheet1!$C:$C,$A2)  次に、Sheet2のB2セルをコピーして、Sheet2のB2~D4の範囲に貼り付けて下さい。  以上です。

回答No.4

作業列を使うなら、こうとか。 D1 20 D2 =int($B2/10)=D$1/10 E1 =d1&-1 E2 =c2*d2 E7 =countif(e2:e6,1)

  • chonami
  • ベストアンサー率43% (448/1036)
回答No.3

2010なのでCOUNTIFSも使えます。 Sheet2の表の見出しを少し変えます。 A1→19 B1→29 C1→39 D1→49 A2~A4に1から3 と入力し、 B2に =COUNTIFS(Sheet1!$C$2:$C$6,$A2,Sheet1!$B$2:$B$6,">"&A$1,Sheet1!$B$2:$B$6,"<="&B$1) と入力し右と下にコピー で如何でしょうか? でも私ならピボットテーブルを使います。

  • chie65535
  • ベストアンサー率43% (8520/19368)
回答No.2

追記。 1.条件が1つの場合 「ある範囲内で、条件に合う物は何個あるか数える関数」は、COUNTIF関数を使います。 例 =COUNTIF(Sheet1!B1:B5,"<30") 20代の人数(30未満の個数) 2.条件が1つだけど上限下限の範囲が場合 「ある範囲内で、限られた範囲にある物は何個あるか数える関数」は、2つのCOUNTIF関数を引き算します。 例 =COUNTIF(Sheet1!B1:B5,"<40")-COUNTIF(Sheet1!B1:B5,"<30") 40未満の人数(20代、30代の合計)から、30未満の人(20代)を引くと、30以上40未満(30代)の人の人数になります。 「ここからここまでの範囲」と言う場合に、このように「引き算」で求めます。 SUMPRODUCT関数でも =SUMPRODUCT((Sheet1!B1:B5>=30)*(Sheet1!B1:B5<40)) と書けば同様の結果になりますが、SUMPRODUCT関数でやるよりも、二つのCOUNTIFの引き算の方が処理が軽くなります。 3.条件が複数ある場合 「ある複数の範囲で、それぞれの条件が揃う物は何個あるか数える関数」は、SUMPRODUCT関数を使います。 これを使ったのが今回の回答になりますから、例は不要ですね。

  • chie65535
  • ベストアンサー率43% (8520/19368)
回答No.1

sheet2のA1 =SUMPRODUCT((Sheet1!B1:B5<30)*(Sheet1!C1:C5=1)) 意味は「Sheet1のB1:B5の範囲が30未満で、C1:C5の範囲が1のものの個数」です。 なので、10才や5才もカウントしちゃいます。 問題がある場合は、B1を参考に「20以上、30未満」に直して下さい。 A2 =SUMPRODUCT((Sheet1!B1:B5<30)*(Sheet1!C1:C5=2)) A3 =SUMPRODUCT((Sheet1!B1:B5<30)*(Sheet1!C1:C5=3)) B1 =SUMPRODUCT((Sheet1!B1:B5>=30)*(Sheet1!B1:B5<40)*(Sheet1!C1:C5=1)) 意味は「Sheet1のB1:B5の範囲が30以上、40未満で、C1:C5の範囲が1のものの個数」です。 B2 =SUMPRODUCT((Sheet1!B1:B5>=30)*(Sheet1!B1:B5<40)*(Sheet1!C1:C5=2)) B3 =SUMPRODUCT((Sheet1!B1:B5>=30)*(Sheet1!B1:B5<40)*(Sheet1!C1:C5=3)) C1 =SUMPRODUCT((Sheet1!B1:B5>=40)*(Sheet1!C1:C5=1)) 意味は「Sheet1のB1:B5の範囲が40以上で、C1:C5の範囲が1のものの個数」です。 なので、55才や61才もカウントしちゃいます。 問題がある場合は、B1を参考に「40以上、50未満」に直して下さい。 C2 =SUMPRODUCT((Sheet1!B1:B5>=40)*(Sheet1!C1:C5=2)) C3 =SUMPRODUCT((Sheet1!B1:B5>=40)*(Sheet1!C1:C5=3))

関連するQ&A

  • どの関数を使用したらいいでしょうか?

    これは「COUNTIFS」でしょうか? エクセル2010を使用しています。 例えば… sheet1     セルA Ɩ セルB Ɩ セルC          Ɩ ○   Ɩ × ――――――――――― 行1 チョコ  Ɩ 1   Ɩ  行2 チョコ  Ɩ    Ɩ  1 行3 パン   Ɩ    Ɩ  1 行4 ケーキ Ɩ  1  Ɩ  行5 パン   Ɩ  1  Ɩ  と言うようなデータがあり、 sheet2    Ɩ チョコ Ɩ パン Ɩ ケーキ ――――――――――――― ○ Ɩ      Ɩ     Ɩ × Ɩ      Ɩ     Ɩ 上記のような表(「○」で「チョコ」は何個あるか)を作成する場合どの関数使用になりますか? また、関数を使った時どのような数式になりますでしょうか? 回答お願いします。

  • エクセルの関数について。

    エクセルの関数。 Sheet1の作業列1のA2セルに =IF(COUNTA(Sheet2!2:2)=0,"",IF(Sheet2!A2="",A1,Sheet2!A2)) →数式1とする 作業列2のB2セルに =IF(A2=$D$2,ROW(),"") →数式2とする という数式を入れA2・B2セルを範囲指定 → B2セルのフィルハンドルで下へコピーしておきます。 (Sheet2の行数以上コピーしておく) そしてE2セルに =IF(COUNT($B:$B)<ROW(A1),"",INDEX(Sheet2!B:B,SMALL($B:$B,ROW(A1)))&"") →数式3とする という数式を入れオートフィルで列方向・行方向にコピーする。 教えて頂きたいことは、数式1、数式2、数式3が何を意味しているのか。 と、この数式を使って、表を作成したのですが、ある特定の数字(コード、D2セルに入力)を入力しても反応してくれない。 (E2~H2まで、空白セルの状態になります。) (sheet2は約1200行あります。) 教えて頂けないでしょうか?

  • 関数で対応が可能でしょうか?

    次のような、エクセル表で、関数(IF関数?)を使って、コピーが出来ますか? <sheet1>    A列    B列  C列  D列  E列  F列  ・・・ 1行 タイトル1  1 2行 数式1        2 3行 タイトル2          3 4行 数式2                4 5行                       タイトル1をコピー 6行                       数式1をコピー 7行                       タイトル2をコピー 8行                       数式2をコピー (1)B1=1 且つ C2=2 のとき、A1のタイトル1をF5にコピー (2)B1=1 且つ C2=2 のとき、A2の数式1をF6にコピー (3)D3=3 且つ E4=4 のとき、A3のタイトル2をF7にコピー (4)D3=3 且つ E4=4 のとき、A4の数式2をF8にコピー

  • 関数でできるでしょうか?

    エクセルの関数で次のようなことができるでしょうか?  A  B  C D  E  F G H 1 26                   ←年齢 2 20 21 22 23 24 25 26 27  ←年齢表 3 25 25 28 29 30 33 33 36  ←金額 A1セルを見て、2行目から合致する年齢の列を見つけて、3行目のA列から合致した年齢の列(この例の場合G列)までを足算(この場合203)したいのですが関数だけでできますでしょうか? すいませんが、よろしくお願いします。

  • エクセル関数を教えて下さい。

    エクセルの数式を教えて下さい。三角関数を全く忘れていますのでよろしくお願 いします。 図形とエクセルの表を画像でアップしました。  Aは角度  B/C/Dは長さ   一行目   セルA1に 任意の角度を入力 B1に 任意の長さを入力するとC1には C の長さの値が出るエクセル関数 D1には Dの長さの値が出るエクセル関数  2行目も同じ様に  A2に 角度  C2に長さを 任意に入力すると  B2とD2に 長さが出てくる エクセル関数   3行目も同じ様に  A3に角度 D3に長さを 任意入力すると  B3とC3に 長さが出てくるエクセル関数  4行目  B4とC4に 長さを任意入力すると  A4に角度 D4に長さが出てくる エクセル関数 

  • 関数の質問

    エクセル2003を使用しています。 下記のシート1に不規則な空白行があり、それをシート2に空白行を詰めて 表示させたいのですがわかりません。 関数でよろしくおねがいいいたします。 シート1 A B C D E F G 1 1 1 1 1 1 1 1 2 3 2 2 2 2 2 2 2 4 3 3 3 3 3 3 3 5 6 7 4 4 4 4 4 4 4 8 9 5 5 5 5 5 5 5 10 11 12 13 6 6 6 6 6 6 6 14 7 7 7 7 7 7 7 15 8 8 8 8 8 8 8 16 9 9 9 9 9 9 9 17 18 シート2 A B C D E F G 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 7 7 7 7 7 7 7 7 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 10 11 12 13 14 15 16 17 18 ・ ・ ・ ・

  • エクセルでHLOOKUP関数の選択範囲について

    エクセルでHLOOKUP関数を使って、検索したいのですが、 シートは、一覧表のシートと データが入っているA101、B203、C305、...シートは300シートくらいあります。 一覧表のシートには、下のような表になっていて、      A列  B列  C列  D列 ...          1003、1004、1005、1006、... 2行目 A101  3行目 B203 4行目 C305       .       .       . データのはいっているシート、A101は下の表になっています。      B列 C列 D列、・・・、Z列 2行目 1004、1005、1006、... 3行目 100、 200、 150、... 一覧表のB列の2行目には HLOOKUP(B2、シートA2のB2:Z3、2行目、FALSE) という感じで、シート名をセルA2のものを参照にして 探して表示させ、B列、C列、D列の2行目から下の行も 表示させたいのですが、うめくできませんでした。 INDIRECT関数を使ってみましたが、セル範囲が無効という エラーがでてしまいます。↓こんな感じで入力してみたのですが... SUMPRODUCT((INDIRECT($A2&"!$B$2:$Z$3"))=$B$1,(INDIRECT($A2&"!$B$2:$Z$3"))) 1つづつデータを見て手打ちはデータが多く、 どんどんデータが増えていくので できれば関数を使って表示させたいと思っています。 詳しい方いらっしゃいましたら、どうか教えてください よろしくお願いします。

  • エクセルの関数にてセル内改行→3行目を抜きたい

    エクセルシートのセル内改行が入っているセル(b2)から 2行目→(c2) 3行目→(d2) 4行目→(e2) と別のセルに抜きたい場合、どのような関数を書いたらよいのでしょうか。 もしくは 2行目が存在する 3行目が存在する 4行目が存在する ということがわかるだけでも良いです。 改行[0D0A]でした。 どなたか教えてください。お願いします。

  • エクセルの関数での質問です

    エクセルの関数での質問です sheet1に A B  C  D  E 1 ○ ○ ○ 1 2 ○ ○ ○ 3 ○ ○ ○ 2 4 ○ ○ ○ みたいな状態からsheet2に A B  C  D  E 1 ○ ○ ○ 1 3 ○ ○ ○ 2 のようにE列の数値順に行を並べることはできますか? エクセル初心者なのでわかりやすく教えていただけると助かります。

  • 【エクセル】離れたセルのCOUNTIF関数

    こんにちは。 エクセルのCOUNTIF関数についての質問です。 各セルに以下のような数値が入っている表で・・・  A=10  B=00  C=20   D=30   E=00   F=40   G=50  AとCとEとGのセルを選択し、0以外のセルの個数を数えるとき COUNTIF関数で =COUNTIF(A,C,E,G,"<>0") という数式を立てたのですが、エラーとなってしまいました。 最終的には =((COUNTIF(A,"<>0")+(COUNTIF(C,"<>0")+(COUNTIF(E,"<>0")+((COUNTIF(G,"<>0")) という数式をたてて計算は出来たのですが、もっと簡単(?)な式はあったりするのでしょうか? ご存知の方がいらっしゃいましたら是非お教え下さい。

専門家に質問してみよう