こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

前回の続きです。自動集計のやり方

今日携帯から投稿したのですが、画像が添付できなく再度登録しました。
そのため、前回の回答を下さった2人の方お礼出来なくてごめんなさい。

シート1のA列に部署(a,b,c…)、E列にAorBか選択し、それが12か月分あります。画像では1枚になっていますが右の表2つは最後の集計ページです。
例)シート1(左表)でdかつBを選択→集計ページ(右表)のH20で1と個数をカウントしたい。

どのような関数を使えばよいでしょうか。countifs関数だと思うのですが参考本は全て入力された状態での解説なのでわかりませんでした。汗
宜しくお願いします。

投稿日時 - 2018-03-11 23:41:12

QNo.9476990

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

頭だけで考えていても先に進まないので、手も動かしましょうね。


前の回答にも書いてある通り、
>> 例えば例示の赤枠のセル(H20セル)なら、
>> (略)
>>   式1:=COUNTIFS($A:$A,"d",$E:$E,"B")
です。
検索条件が文字列ですから、ダブルクォーテーション「”」をお忘れなく。
で、1月だろうが12月だろうが「d」は変わらないはずですから、
>>   式2:=COUNTIFS($A:$A,$G20,$E:$E,"B")
としてやる方がコピー貼り付けは楽でしょうね。
且つ、1シートに1か月分という面倒な構成のようなので、
集計表を埋める時にINDIRECT関数を使ってもう少し楽しましょうか、
という考え方です。


式が先かリストが先かは問題ではないですよ。
リストを整えてから式を入れても、
式を入れてからリストに追加しても、
式が正しければエクセルは式に沿った答えを返してきます。
  ※ほんの時々、仕様上の弱点で答えがずれることもありますが。
   今回は小数が絡まないので問題ないはずです。
SUM関数の合計範囲の数字を打ち変えると、返り値も変わってくれますね。
COUNTIFS関数も同様、対象範囲の値が変われば返り値も変わります。

そんなこんな言いつつ、私なら
・ひとまずリストの中にサンプルを数行作る。
・式を作ってみる。
・リストに追加変更して、返り値が正しいか確かめる。
の順番でやります。

中には式を先に作る人もいます。
この辺りはそれぞれの好みですね。

投稿日時 - 2018-03-13 08:28:51

お礼

回答ありがとうございます。
家では教えてくださった数式で入力ができうまくいったのですが、会社ではスムーズにいかず、苦戦しております。

エクセル初心者のため、関数の組み合わせがいっぱいいっぱいです。
countifsa関数のみですとどのような数式になるか教えていただけないでしょうか?また、検索Wordが漢字二文字ですが、その場合どうなるのでしょうか?該当するセルの番号でしょうか?
例)シート1のD列の佐藤の場合かつシート1のM列歴史選択
:=COUNTIFS(Sheet1!$D:$D,$佐藤,Sheet1!$M:$M,"歴史")でしょうか

お手数ですがよろしくお願いいたします。

投稿日時 - 2018-03-15 14:56:14

ANo.1

基本的には COUNTIFS関数で合ってますよ。

例えば例示の赤枠のセル(H20セル)なら、
・A列が「d」
・E列が「B」
を数えるわけですから、
  式1:=COUNTIFS($A:$A,"d",$E:$E,"B")
あるいは
  式2:=COUNTIFS($A:$A,$G20,$E:$E,"B")
のどちらでもいけるでしょうね。
ちなみに私なら式2を採用するかな。

1年分をこなそうと思ったら・・
シートの名前を1月・2月・・・12月と直したうえで、
  H20セル:=COUNTIFS(INDIRECT(H$16&"!$A:$A"),$G20,INDIRECT(H$16&"!$E:$E"),"B")
こんな感じになるのかなぁ。


とりあえず、データベースの世界では、
  月ごとのデータ=集計された結果
であって、例えば1年分(以上)を一つのテーブルに持ち、
そこから抜き出して作成するモノです。
1年分(以上)のレコードを蓄積しておけば、
エクセルならピボットテーブルなどで簡単に集計可能です。
「結果」を「取りまとめよう」とするから大変なのです。
この辺を勘違いなさってる方、まだまだ多いようですけれど。

投稿日時 - 2018-03-12 07:40:12

お礼

ありがとうございます!!
countifs関数でよいのですね。

すみません。やり方ですがあらかじめdとBを選択より表示させ、
【検索条件範囲1】A列
【検索条件1】d
【検索条件範囲2】E列
【検索条件2】B
でしょうか?
これで上手くいったためしがありません 汗
それとも回答くださった数式を入力するということでしょうか?

知識がなく申し訳ないです。
よろしくお願いします。

投稿日時 - 2018-03-13 00:20:05