- ベストアンサー
エクセルでグループごとの検索を縦列表示する方法
- エクセルでグループごとの情報を縦列に表示したい場合、特定の条件に基づいてデータを抽出する関数を使うことができます。
- 例えば、特定の品種(野菜)を指定して、品名や値段、産地の情報を表示することができます。
- 具体的な方法は、関数を使用して特定のセルに条件を入力し、それに基づいてデータを抽出して表示することです。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
Sheet1のA1:E13 品種 品名 金額 産地 果物 りんご1 200 津軽 果物1 果物 りんご2 250 むつ 果物2 果物 みかん 300 果物3 果物 ぶどう 400 果物4 海外果物 パパイヤ 300 海外果物1 海外果物 アドカボ 100 海外果物2 海外果物 バナナ 130 海外果物3 野菜 なす 100 野菜1 1 野菜 にんじん 200 野菜2 2 野菜 きゃべつ 300 野菜3 3 野菜 大根 150 練馬 野菜4 4 野菜 大根2 180 京都 野菜5 5 Sheet2のA1に 「野菜」と検索後を入力する。 ーー Sheet1のG列を作業列として G2に =IF(COUNTIF($A$2:A2,Sheet2!$A$1)>=1,MAX($G$1:G1)+1,"") ト入れてG13まで式複写 結果 上記の通り。野菜に連番を振ったことになる。 ーー Sheet2のA2に =INDEX(Sheet1!$A$2:$E$100,MATCH(ROW()-1,Sheet1!$G$2:$G$100,0),COLUMN()) E列まで式を右方向に複写。 A2:E2をA6:E20とかに式複写。 結果 野菜 野菜 なす 100 野菜1 0 野菜 にんじん 200 野菜2 0 野菜 きゃべつ 300 野菜3 0 野菜 大根 150 練馬 野菜4 野菜 大根2 180 京都 野菜5 #N/A #N/A #N/A #N/A #N/A ・・ #N/Aを出さないようにするには、A2の式を =IF(ROW()-1>MAX(Sheet1!$G:$G),"",INDEX(Sheet1!$A$2:$E$100,MATCH(ROW()-1,Sheet1!$G$2:$G$100,0),COLUMN())) のようにする。 自称imogasi方式で、作業列を使うのが特徴(欠点)で、少しわかりやすいと思う。 ーー http://dospara.okwave.jp/qa3342059.html などを見てください。作業列を使わない方法も出てますが、理解できるならどうぞ。
その他の回答 (1)
- hasega2
- ベストアンサー率52% (165/316)
関数を使わずに「フィルタ機能」、「フィルタオプション」を使えば お望みの結果を得ることができると思います。
お礼
hasega2さま 勉強になりました。有難うございます。
お礼
mogasiさま 解決致しました。 大変助かりました。有難うございました!!
補足
imogasiさま 分かりやすい説明有り難うございます。 色々試してみて納得しかけているのですが、[野菜]と入力したセルに別の品種[果物]又は[海外果物]を入力した場合、入力した品種以外のものも、拾ってしまいます。 海外果物 パパイヤ アドカボ バナナ なす の、ような感じです。 imogasiさまのお教え下さいました表には、他の[野菜]以外の品種のG列の連番がありませんが、グループごとに連番をつけることは可能でしょうか? 度々、すみません。宜しくお願いします。