- ベストアンサー
エクセル2003 表 集計
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
各シートのC3セル以下にa,b,c,dなどが入力されていて、まとめのシートのA4セルから下にa,b,c,d,eなどの項目、3行目のB3セルから右にシート名(月)が入力されているなら、以下の式をB4セルに入力して右方向および下方向にオートフィルしてください。 =INDEX(INDIRECT(B$3&"!$3:$7"),MATCH($A4,INDIRECT(B$3&"!$C$3:$C$10"),0),MATCH("ボールペン",INDIRECT(B$3&"!$2:$2"),0)) 該当データがない場合はエラー表示されますので、これを表示したくない場合は、Exxcel2003の場合はISERROR関数で対応することになりますが、計算する配列数式多くなりますので、IFERROR関数を使った条件付き書式でフォントの色を白くするなどの対応するほうがよいと思います(2007以降のバージョンならIFERROR関数で対応できます)。 また、抽出したい「ボールペン」がA1セルに入力してあるなら「"ボールペン"」の部分を「$A$1」に置換した数式ににして、このセルを入力規則のリストでドロップダウンリストから選択できるようにすれば、同じ数式ですべての商品名を集計するシートにすることができます。
その他の回答 (2)
- bunjii
- ベストアンサー率43% (3589/8249)
>シート名の変化(4月,5月・・・)についても、セルに入力された内容を利用できないか教えて頂けないでしょうか? INDIRECT関数でSheet名と範囲を指定すれば3行目の月数から可変にできます。 INDIRECT(C$3&"!$C$2:$H$2") → 5月!$C$2:$H$2 INDIRECT(C$3&"!$C$3:$H$10") → 5月!$C$3:$H$10
お礼
返事が遅れて申し訳ありません。 記載されていた方法で出来ました。ありがとうございました。
- MackyNo1
- ベストアンサー率53% (1521/2850)
>現状、INDEX+MATCHの組み合わせで、計算式に入るシート名のみ手入力で修正し対応しています。 添付画像が小さくて、詳細が分かりづらいのですが、現在どのような数式が入力されているのでしょうか? さらに、いずれのシートも月別シートの2行目に項目名が入力されている(ただし位置や項目の種類は変動する)ということでよいのですね。 また、月別シートのC列の項目と集計シートの項目は順番や項目数が同じなのでしょうか? 以上を補足説明されたほうが、皆さんから的確な回答が得られると思います。
補足
月別のシートのフォーマットは同じです。 但し、abcdやボールペン等の順番は異なる。又はabcdの内bだけがなくなったりもする。 スマホからの投稿なのでかなり略しちゃいますが、まとめシートの計算式はindex(月別のシート名○:○,MATCH(),MATCH())みたいな感じです。ちなみにMATCHの中にも月別のシート名から範囲指定したものがはいります。で、この計算式の月別のシート名を手入力で修正しています。ですので、シート名を手で修正しなくても、まとめのシートのセルに入力されている4月等でシートの指定が出来ないか教えて欲しいのです。よろしくお願いいたします。
お礼
返事が遅れて申し訳ありません。 細部まで記載して頂き、ありがとうございました。記載されていた方法で出来ました。ありがとうございました。