• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:【エクセル】リスト作成について)

【エクセル】リスト作成方法と情報の取りまとめについて

このQ&Aのポイント
  • 現在、エクセルにてリストを作成しております。A列に都道府県のリストを作成し、B列には特定の数字データを入力しています。リストから選択された都道府県名を固定で記載し、B列にsumif関数等が使えない場合、(表2)に取りまとめの情報を作成する方法はありますでしょうか?
  • (表1)のA列に表示されている一覧から、重複なく、もれなく一覧を表示させる方法をご教示いただけますでしょうか?ピボットテーブル等を使用せずに関数で実現する方法があれば教えてください。
  • お力をお借りしたいのは、(表2)に取りまとめの情報を作成する方法です。ただし、(表1)のA列に表示されている一覧から、重複なく、もれなく一覧を取得する方法が知りたいです。

質問者が選んだベストアンサー

  • ベストアンサー
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.5

こんばんは! 判りやすいのは↓の画像のように作業用の列を設ける方法だと思います。 作業列D2セルに =IF(COUNTIF(A$2:A2,A2)=1,ROW(),"") という数式を入れフィルハンドルでずぃ~~~!っと下へコピーしておきます。 そしてF2セルに =IFERROR(INDEX(A:A,SMALL(D:D,ROW(A1))),"") G2セルに =IF(F2="","",SUMIF(A:A,F2,B:B)) という数式を入れ、F2・G2セルを範囲指定 → G2セルのフィルハンドルで下へコピー! これで画像のような感じになります。m(_ _)m

kidd1022
質問者

お礼

ご回答、ありがとうございます。 今回私が実現したいことに対して、このご回答を活用させていただこうと思います。 大変助かりました。 中々、このような考えが思いつかず、皆様の知識に本当にすごいと感じさせられることばかりです。 ありがとうございました。

その他の回答 (4)

noname#204879
noname#204879
回答No.4

添付図参照 1.範囲 A1:B1 を[コピー]してセル D1 に[貼り付け] 2.列Aを選択 3.[データ]→[フィルタ]→[フィルタオプションの設定]を実行 4.[抽出先]→“指定した範囲”   [リスト範囲]→ A:A   [検索条件範囲]→ (空白のまま)   [抽出範囲]→ D1   “重複するレコードは無視する”に目玉を入れて、[OK]をクリック 以上の結果を Fig-2 に示した。 5.セル E2 に式 =SUMIF(A:A,D2,B:B) を入力して、此れを下方にズズーッとドラッグ&ペースト 以上の結果を Fig-3 に示した。

kidd1022
質問者

お礼

ご回答、ありがとうございます。 なるほど、この様なやり方があるのですね。 今回実現したい資料に活用できるか、良く検討させて頂きたいと思いますが、現実的にこの方法は非常に参考になりました。 お時間、ありがとうございました。

回答No.3

ごめんなさい。NO2の方の言うとおりです。 よく読まずに回答してしまいました。 関数だけでは苦しいです。

kidd1022
質問者

お礼

ご連絡ありがとうございました。 とんでもありません、助かりました。

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.2

良く寄せられるご相談の一種ですが、エクセルにはそういう計算が出来る関数は無いので、たとえば E1: =INDEX(A:A,SMALL(IF(FREQUENCY(MATCH(OFFSET($A$1,0,0,COUNTA($A:$A),1),A:A,0),MATCH(OFFSET($A$1,0,0,COUNTA($A:$A),1),A:A,0)),ROW(OFFSET($A$1,0,0,COUNTA($A:$A),1)),9999),ROW()))&"" と記入、必ずコントロールキーとシフトキーを押しながらEnterで入力、以下コピー みたいな超メンドクサイ計算をしなきゃなりません。 F1: =IF(E1="","",SUMIF(A:A,E1,B:B)) 計算式の組み方によって、とんでもなく計算に時間がかかるような重たい数式になる場合もあるので、寄せられた回答もそれぞれよく注意して試してみて下さい。 参考:工夫で簡単にする 名前の定義を開始  名前 myList  参照範囲 =Sheet1!$A$1:INDEX(Sheet1!$A:$A,COUNTA(Sheet1!$A:$A)) と登録する E1セルには =INDEX(A:A,SMALL(IF(MATCH(myList,A:A,0)=ROW(myList),ROW(myList),9999),ROW(E1)))&"" と記入、必ずコントロールキーとシフトキーを押しながらEnterで入力、以下コピーする。

kidd1022
質問者

お礼

ご回答、ありがとうございます。 現時点で、私にはすぐに理解できる内容ではありませんが、 熟読させていただき、今後に活かせたらと思います。 お時間を割いていただき、誠にありがとうございました。

回答No.1

VLOOKUP関数ではないでしょうか。 http://www.yoshikawa.co.jp/ybs/skilup/ybs0308.htm ただし、表2は47行必要になりますが。 ところで、A列にもれなく記載するのはどうやって行うのでしょうか。変わるというからには、手入力ということでしょうか。て入力であるならば、都道府県をもれなく入力するのは人間が判断するということでしょうか。 その「変わる」というあたりを説明していただけると、もう少し回答がつくかと思います。

kidd1022
質問者

補足

サポート、ありがとうございます。 ご説明が丁寧でなく、申し訳ありません。 シート1(表1)のA列に都道府県名を入力するにあたり、 シート2のA1~A47に47都道府県が記載してあります。 そして、シート1A列の(表1)の各セルはシート2のA1~A47の範囲をリスト項目として参照し、選択するようになっております。 (表1)には常に47都道府県全て項目として表示される訳ではなく、場合によっては5県のみ、場合によっては10県と言った場合がある為、常に特定の県が表示されるわけではなく、時と場合によって変わる可能性がございます。 その為、guess_manager様の仰るとおり、(表2)は最大47行必要になるかと考えております。 これで、ご説明になりましたでしょうか。 よろしくお願い申し上げます。

関連するQ&A