• ベストアンサー

Excelである表から文字列を抽出、別の表で整理

 A 1 おにぎり 2 おにぎり 3 おにぎり 4 ラーメン 5 そば (続く) 上のような既存の表から、品名を抽出し下のような集計表を作ろうとしています。 同じ品名がある場合詰めてリストアップします。 ←この方法が分からず難儀しています。  B    C 1 おにぎり 3 2 ラーメン 1 3 そば   1 (続く) B1~B3(続く)セルにどのような数式が考えられますでしょうか? よろしくお願いいたします。

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

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

こんにちは! 一例です。 とりあえず同Sheetに表示するとします。 ↓の画像のように作業用の列を1列設けます (今回はF列にしていますが、目障りであれば列を非表示にするか遠く離れた列にします) F2セルに =IF(COUNTIF($A$2:A2,A2)=1,ROW(),"") という数式を入れオートフィルでずぃ~~~!っと下へコピーしておきます。 そして、C2セルに =IF(COUNT(F:F)<ROW(A1),"",INDEX(A:A,SMALL(F:F,ROW(A1)))) D2セルに =IF(C2="","",COUNTIF(A:A,C2)) という数式を入れ、C2・D2セルを範囲指定 → D2セルのフィルハンドルで下へコピーすると 画像のような感じになります。 以上、参考になれば良いのですが・・・m(__)m

mryn
質問者

お礼

ありがとうございます。 非常にスマートですね。 すばらしいです!

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (2)

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

ピボットテーブルの方が早くないですかね?

mryn
質問者

お礼

ありがとうございます。 ピボットテーブルという手もあるかなと思いましたが、 今回は数式で実現したかったのです。

全文を見る
すると、全ての回答が全文表示されます。
  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.1

例示のレイアウト(1行目からデータが入力されている)なら、以下のような数式で重複のない文字列データを表示することができます。 =INDEX(A:A,SMALL(INDEX((MATCH($A$1:$A$100&"",$A$1:$A$100&"",)<>ROW($A$1:$A$100))*1000+ROW($A$1:$A$100),),ROW(A1)))&" 上記の数式は比較的計算負荷の高い配列数式ですので、(データ範囲が広い場合や)表示するデータ数が多くなる場合は、再計算に時間がかかりシートが重くなるかもしれません。 このような場合は、計算方法を手動にして、データを更新したいときだけF9キーで再計算するなどの対応するとよいと思います。

mryn
質問者

お礼

早速のご回答ありがとうございます。 出来るんですね。 すばらしいです。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • EXCEL 表からの文字抽出に関して

    VLOOKUPとHLOOKUP関数などを使用した表からのデータ抽出に関して質問があります。 表に関しては添付ファイルを参照して下さい。 内容や条件に関してですが、 (1)セルG61には別シートの内容が自動的に入ります。 (2)セルG62、G63も同様です。 (3)セルG65~J65にはG61、G62、G63の条件に合致し、かつ各時刻(9時、12時、14時、16時)ごとの 数値をデータ表より各セルの表示させます。 例としまして、 セルG61は「福岡」、セルG62は「N」、セルG63は「I」となった場合、 G65=7 H65=10 I65=10 J65=9 になります。 このようなものですが、(3)で数値を表より抽出し、各セルに表示させる数式がわかりません。 なお、データ表に関してですが、 ・「地域」は全部で6地区あります。 ・「方位」は全部で8方向あります。(東西南北、北東、北西、南東、南西) ・「壁タイプ」は全部で4つあります。 というようになっています。 自分でなんとか作ってみようとしたところ、かなり長い数式になり、途中で何がなんだか分らなくなってしまいました。 どうか御回答頂ければ助かります。 宜しくお願い致します。

  • エクセル集計表から、別ブックに抽出したい。

    お世話になります。 エクセルで作成した集計表があります。この表のうち、各項目の小計を別ブックに抽出し、元の集計表よりもさらに集約した表を作成したいと考えています。 元の表の縦列には集計したい各項目の小計をおいています。この元データが細かく区分されたデータですのでざっくりした簡単な見やすい表を作成したいのですが、別のブックに抽出するにはどうすれば良いでしょうか。また元データを更新すれば、抽出した別ブックも更新できるとさらに助かります。 いうなれば、アウトライン小計を閉じたような状態の表を別のブックに作成したいのです。 下のような例ですと、各見込と実績は、小計を閉じた状態です。開けばもっと縦列が膨らみます。            1月    2月    3月    4月    ・・・・・・・        見込 みかん  実績       差額  見込 りんご  実績       差額 詳しい方、アドバイスをどうぞ宜しくお願い致します。

  • エクセル関数でデーターを抽出する数式について

    検索値の名称と抽出表の一覧から名称が一部しか一致しないものを抽出したいが、セルの位置がわからない。 一応私が考えてた数式ではダメでしたが、参考まで VKOOLUP(B1.A10・・・.1.TRUE) 例 上記の数式を入力したセルを(A1)、入力するセルを(B1)、抽出表の一覧A10・・・以下に作成する。 A1 ○○   B1 ○○ 支店 A10 ○○ A11 △△ A12 ×× ・ ・ ・ ・

  • エクセル。表からの抽出について

    A表の中に複数の会社名と担当者がありますが、重複する社名もあります。 (例) 【Aセル】【Bセル】 A社・・・・山田 B社・・・・鈴木 A社・・・・田中 C社・・・・大田 これを別の表に社名を抽出したいのですが、同じ社名は1社とみなし社名の種類だけを抽出する方法はありますか。 (例) 【A表】→→【B表】 A社-----⇒A社 B社-----⇒B社 A社--⇒×重複するため除外 C社-----⇒C社 説明が不明瞭で申し訳ありませんが、宜しくお願いいたします

  • Excelで文字列をまとめたい

    こんにちは いつもお世話になります。 このカテへの投稿は初めてですが、今頼まれて簡単な集計表を作ろうとしています。 あるシートを入力専用のシートにし、たとえばA列に日付、B列には品名、C列には数量を入れるとします。 これを1ヶ月続けたあと、品名でまとめた集計表を作ります。 100行くらいのデータのうち、種類としては10数種類であり、その数は毎月変動します。(行数も) 集計表に重複せずに整理するため、今まではB列だけを別にコピーし、手動でソートして重複しているデータを削除していました。 これをなんとかもっと簡単に行う方法はないものでしょうか? 残りの数字の部分はSUMIF関数を使って合計させていますので簡単なのですが、前処理にいい方法が思いつきません。 ぼちぼち頭の柔軟性に疑問符がつき始めた小生になにかいいヒントをいただけましたら幸いです。 よろしくお願いいたします。

  • エクセルの表の抽出の仕方は

    よろしくお願いします。 -------------------------- |   | 1/100 | 1/200 | 1/300 | -------------------------- | 1 |  100  |  400 |  700 | -------------------------- | 2 |  200  |  500 |  800 | -------------------------- | 3 |  300  |  600 |  900 | -------------------------- 上記のような表があります。このときに、たとえば、A1セルに1/100、B1セルに3を入力したときにC1セルに300と言う答えを出す方法を教えてください。 A1セル及びB1セルは入力規則のリストを使用しています ---は表の枠です エクセルは2002を使用しています。

  • エクセル 重複文字列の色分け抽出

    エクセル2003において、1行内に重複した文字列に対して色を付ける。これは条件付書式で「数式で」COUNTIF関数選択範囲>1 書式「セルを赤パターンで塗りつぶす」 はできるのですが、その重複する文字列が直接入力のものではなく、別シートからのIF関数を利用しての抽出なのです。なのでセル自体には既に数式が入っている状態です。この状態で上記のことをすると、すべてのセルが赤く染まってしまうのですが、何とか回避できるでしょうか?抽出された「文字列」にではなく、既に入っている「数式」に反応しているようなのですが…。 具体的に言うと、各支店の出勤状況をまとめた出勤予定表がシートごと(sheet2~sheet15)にあります。その各シートから1日に出勤するスタッフ、2日に出勤するスタッフの名前が全スタッフ出勤状況表(sheet1)にピックアップされるように作られています。しかし、別店舗で同じ人間を出勤させている場合があり、そのスタッフを赤色に塗りたいのです。 ご教授宜しくお願いいたします。

  • 指定した文字列が抽出できる関数

    Excelで、指定した文字列だけを抽出表示する場合、「文字列を先頭(左)から抽出する」などの関数は「LEFT関数」や「RIGHT関数」がありますが、位置の指定ではなく、文字列の中にある、特定の文字だけを指定して抽出してできる関数は何でしょうか? たとえば「ラーメン」「うどん」「そば」いずれかを「含む」文字列が入っているセルの中から、「うどん」のセルだけを抽出して表示するという場合です。

  • 列に指定文字が合えば合計値を入力

    Excel2013使用で簡略に作成したのですが集計表の文字Aの1、セルC15にリスト表Aの○合計個数2を入力したい、集計表文字A、B、Cそれぞれの行にリスト表○文字合計数を入力したいのですがセルに入れる関数をお解りの方宜しくお願いします。

  • エクセルの文字列の抽出方法について

    ★★エクセルの文字列の抽出方法について★★ 下記の「対象セルの内容」のような感じで1つのセルの中に複数行の文字列が入っているのですが、 下から3行とか4行とかを指定して文字列を抽出したいと考えています。 ■対象セルの内容 [改行] [改行] [改行] a/b/r1.php[改行] a/b/r2.php[改行] a/b/r3.php[改行] a/b/r4.php ■抽出したい値 a/b/r2.php[改行] a/b/r3.php[改行] a/b/r4.php 何かしらうまい方法はないでしょうか。 ご教授なにとぞよろしくお願いいたします。

専門家に質問してみよう