• 締切済み

複数シートからリストの選択数をカウントしたい

エクセル2010での質問です。 初心者なのでわかりにくかったらすみません。 事前にフォーマットを作り、数人に集計してもらったデータ (リストを制作し、文字列を選択してもらう形)を1つの ブックにまとめました。各シートの名前は様々です。 この状態から、各シートので選ばれたリストの文字列を抽出し、 3D集計のように「合計」シートで総数を出したいのです。 例ーーーーーーーーーーーーーーーーーーーー     ↓以下、リストで選択された項目です     リストA リストB  リストC…… sheet1 北海道  メロン   野球…… sheet2 沖縄   オレンジ  野球…… 上記を、このように集計したいのです 合計sheet リストA 北海道 1 沖縄  1 東京  0 リストB りんご  0 メロン  1 オレンジ 1 リストC 野球   2 サッカー 0 ゴルフ  0 ーーーーーーーーーーーーーーーーーーーー 各シートにリスト内の文字列の数をカウントする式を記載し、 そこで出た数を3D集計するという手法があるのは理解しているのですが、 シートの数が多いため、何かよい手法があれば……と思い、 質問させていただきました。 よろしくお願いします。

みんなの回答

  • Nouble
  • ベストアンサー率18% (330/1783)
回答No.2

作業用シートを2枚作成 各シートから手作業でリスト部列を 選択、コピー、 片方の作業用シート(移行甲)に張り付け 張り付けた行を、ソート機能で並べかえ 並べかえを終えた行の一方の隣 一例として B3から連なる列に対し 張り付け、ソート、 まで、終えたなら C3に =IF(B3=B4,"","此") と、入力 B列にそぐわせて、下までフィル 同、此 の出現パターンが、適切か 手作業で確認 C列2行に項と、入力 同C列2行にフィルターを設定 此 を、抽出 現れたB列を確認後コピー 他方の作業シート(移行乙)に張りつける 此の作業を 甲作業シートにおいて 2列の間を開けつつ、繰り返す 全シートからの張り付け等作業終了後 乙作業シートにおいて 同様に重複を調べ 一列に統一 簡便な作業説明化の為 2度手間にしましたが 趣旨はご理解頂けた と、思います あとは応用頂けたなら すぐお慣れになる と、思います ポイントは 手作業で選択、確認する ソートを使い冗長性を露にする エクセルを過度に信頼しない フィルターのかかった場所に 張り付けない 此等の点です

mgx1975
質問者

お礼

ご丁寧な回答ありがとうございます! こちらの質問の仕方がフワフワしていてすみません! 1件目に回答をいただいた方の手法がおそらく私の理想に近い形 でしたので、それを参考にがんばらせていただきます!

  • Chiquilin
  • ベストアンサー率30% (94/306)
回答No.1

「どこに」「何が」「どのように」にあいまいな部分を残すから 回答が付かない のだと思います。 =SUM(COUNTIF(INDIRECT("'Sheet"&{1;2;3}&"'!A1"),"北海道"))

mgx1975
質問者

お礼

回答ありがとうございます!  ファイルそのものを画像等でお見せできたら早いのですがそれもできず、 加えてエクセルの理解力&説明力が足らないためにフワフワした 質問になってしまい申し訳ない感じです。 いただいた回答でINDIRECTという関数の存在を知れましたので、 これを足がかりにもう少しがんばってみようと思います。

関連するQ&A

  • Excelで一つのシートに複数のリストを作成し、別のところにその集計表

    Excelで一つのシートに複数のリストを作成し、別のところにその集計表を作成したいです。リスト(1)はA列に文字列(例えば社名とか)B列に数字、リスト(2)はD列に文字列E列に数字です。集計表は、G列に各リストの文字列を重複分を除いて抽出して表示させ、H列には数字(重複文字列の数字は合計します)が表示されるようにしたいです。どのようにしたらいいでしょうか?参考URLでもいいのでお願いします。

  • 文字の数を複数シートに渡って数える方法を教えていただきたいです。

    文字を数える関数の事で困っているのでどうぞご指導お願い申し上げます。 ■自分のやりたいこと シート2からシート10のA1には「晴」、B1には「曇」が情報が入力されています。 その集計結果をシート1のA1に「晴」の合計数、B2に「曇」の合計数を表示させたいです。 ※本で調べたところ、同一シートにおける文字の合計はCOUNTA(○:○)で出せるようですが 別のシート間の集計方法がわかりませんでした。 ちなみに「+」で10シートを合計しようとしましたが、だめでした。 どうぞご指導お願い申し上げます。

  • ★エクセル関数に詳しい方、よろしくお願いします

    ★エクセル関数に詳しい方、よろしくお願いします はじめまして質問を利用させていただきます。 エクセル関数に詳しい方、どうか教えてください。 いつもこの質問コーナーをヒントに↓の関数を作成して、シート1の★c列に 値を抽出することができました。 <シート1>の★c列に関数を入れて、a列、b列の一致したデータを<シート2>から抽出 =INDEX(シート1!c$2:c$10,MATCH(2,MMULT((シート2$a2:F$a10=a2:b2)*1,{1;1}),))    <シート1>           <シート2 データ> a列  b列   ★c列      a列  b列    c列 101  キウイ  北海道    101  キウイ  北海道 201  キウイ  沖縄県    101  ばなな  北海道 101  ばなな  北海道    101  オレンジ 北海道 201  ばなな  沖縄県    101  いちご   北海道 101  オレンジ 北海道    101  メロン   北海道 201  オレンジ 沖縄県    201  キウイ   沖縄県 101  いちご  北海道     201  ばなな  沖縄県 201  いちご   沖縄県    201  オレンジ 沖縄県 101  メロン   北海道     201  いちご  沖縄県 201  メロン   沖縄県     201  メロン   沖縄県 **********************************************  この下からが質問内容になりますm(_ _)m ********************************************** しかし、表が少し複雑になってしまい、 上で作成した関数が使えなくなってしましました。 ●<シート2>のb列の文字が複雑になってしまった場合、 <シート1>の★c列に、うまくデータを抽出することはできますでしょうか? <シート1>          <シート2 データ> a列  b列   ★c列    a列   b列     c列 101  キウイ  #N/A    101  甘いキウイ 北海道 201  キウイ  #N/A    101  甘いばなな 北海道 101  ばなな  #N/A    101  オレンジ   北海道 201  ばなな  #N/A    101  いちご小   北海道 101  オレンジ #N/A    101  メロン小   北海道 201  オレンジ #N/A    201  黄色キウイ 沖縄県 101  いちご   #N/A    201  ばなな小  沖縄県 201  いちご   #N/A    201  オレンジ大 沖縄県 101  メロン   #N/A    201  いちご大  沖縄県 201  メロン   #N/A    201  メロン大   沖縄県 もし、ご存知の方がいらっしゃいましたら、どうかご教示願います。 どうかよろしくお願いいたします。

  • VBA  シート別カウント

    お世話になります。 只今、VBAでどのように複数の文言をカウントすればいいのか悩んでいます。 集計シートに、Sheet1~50までのA列にある文言をカウントしたいです。 A列には、りんご、ばなな、メロン、他50種類あるとします。 集計シートには縦に、Sheet1~50が並んでおり、 横にりんご、ばなな、メロンが横に重複削除して並んでいます。 りんごの下にカウントした数字を入れていきたいです。 現在、Cell(3,3) = WorksheetFunction.CountIF(Sheets("Sheet1").Range("A2:A100"),cells(2,2)) とマクロを組むと、一つだけしかとってこれない状態ですが、これを複数取ってくる場合はどのようにしたらよいのでしょうか。 よろしくお願いいたします。

  • 複数シートのセルの 記号の数を数える

    複数のシートの同じ列に・・・セルに○と◎が 入力されてるとします。 複数のシートの集計をしたいので ○の数だけ数えたいのですが。どのようにすればいいでしょうか? ○ではなく 数字は わかるのですが…よろしくお願いします。

  • ★関数について教えてください(追加のお願いです)

    先ほどもこちらで質問をさせていただいたものです。m(_ _ )m  <質問★エクセル関数に詳しい方、よろしくお願いします>にて・・・  <回答していただいた関数>    =INDEX(Sheet2!$C$1:C$10,MATCH(2,MMULT(ISNUMBER(FIND(A1:B1,Sheet2!$A$1:$B$10))*1,      {1;1}),0)) 上記の関数を教えていただき、無事に解決をいたしました。 こちらの質問掲示板で初めて投稿させていただきましたが、 とても早くご回答を頂き本当にありがとうございます。 ********************************************************************************* 追加のお願いなのですが・・・ 今度は、<シート1>のb列の名前も複雑になった場合、★c列を抽出することは可能でしょうか? ********************************************************************************* <シート1>            <シート2 データ> a列  b列      ★c列    a列   b列     c列 101  キウイA   #N/A    101  甘いキウイ 北海道 201  キウイB   #N/A    101  甘いばなな 北海道 101  ばななA   #N/A    101  オレンジ   北海道 201  ばななB   #N/A    101  いちご小   北海道 101  オレンジ   #N/A    101  メロン小   北海道 201  オレンジ   #N/A    201  黄色キウイ 沖縄県 101  いちご     #N/A    201  ばなな小  沖縄県 201  いちご     #N/A    201  オレンジ大 沖縄県 101  メロンA    #N/A    201  いちご大  沖縄県 201  メロンB    #N/A    201  メロン大   沖縄県 また、関数に詳しい方がおられましたら、どうかご教示お願いいたします。 m(_ _)m

  • エクセル 複数シートの同一セルを別シートへ集計

    エクセルで複数sheetの同一セルを集計sheetへコピーしてきて一覧にし、集計するという作業を行なっています。 1~20のsheet(sheet数sheet名は変動します)を作り、一番右側に集計sheetがあります。 集計sheetのA5へsheet1のF10、A6へsheet2のF10・・・(内容は文字列) 集計sheetのB5へsheet1のG10、B6へsheet2のG10・・・(内容は数値) とコピーしていき、B30にはB5~B29の合計がSUM関数で入っています。 VBAで、集計sheetから左側のsheetの指定セルを一気に集計sheetへコピーしてくる方法はないでしょうか。 ただし集計sheetから左側のsheet21とsheet22は集計に入れたくないという式も教えて頂きたいです。 お時間のある方、ご教授下さい。 または別の質問で参考になるようなものがあればアドレスを教えて下さい。 説明が下手で申し訳ないですが、どうぞよろしくお願いします。

  • Countifで複数シートを対象範囲にすることはできるか

    表題の件方法ありませんか? できなければあきらめてAccessでやります。 例 シートA、シートBにある「日付」項目(D列2~100) の中で9月17日のレコード数を集計する。。 なお、ひとつのシートでまとめればいいではないかと 思いますが、Excelの限度(65536)を超えてしまうのでできません。シートごとに日付集計の表を作り、 それを3D集計で計算する方法を思い浮かべましたが、 それ以外の迂回手段ありませんか?

  • Excelで複数のシートからリストボックスを作成

    Excel2007で複数のシートにある一覧を一つのリストボックスにまとめ、それ以降にある不特定数(最大数は特定可能)のカラムをリストボックスで選択した行にコピーすることは可能でしょうか。 例です 肉(Sheet1): 牛,246 豚,183 鶏,200 魚(Sheet2): 鮭,133,生,焼き用 秋刀魚,299,焼き, 鮪,344,刺身, といった感じのシートになっていまして、牛を選択すればカラムBには246が、鮭を選択すればカラムBには133、カラムCには生、カラムDには焼き用が転記されるようにしたいのです。 こういったことは可能でしょうか。

  • リストボックスから複数行を選択し、その複数のデータをセルに入力したい

    Excel2003でマクロをつくっています。シートのB列を右クリックすると、リストボックスが表示され 任意1行を選択するとシートのB列、C列、D列のセルにデーターが入力されます。 Private Sub ListBox2_Click() With ListBox2 If .ListIndex = -1 Then MsgBox "項目を選択してくだい" Else ’シートが保護されていたら保護を解除 If ActiveSheet.ProtectContents = True Then ActiveSheet.Unprotect End If ActiveCell.Value = ListBox2.List(ListBox2.ListIndex, 0) ActiveCell.Offset(0, 1).Value = ListBox2.List(ListBox2.ListIndex, 1) ActiveCell.Offset(0, 2).Value = ListBox2.List(ListBox2.ListIndex, 2) ActiveSheet.Protect End If End With Unload UserForm3 End Sub このリストボックスから複数の行を選択し、シートのB列、C列、D列のセルにデーターを入力したいのですが、Multiselectプロパティを変更しても、一行のみしか入力できません。 上のコードをどうかえたらよろしいでしょうか。

専門家に質問してみよう