- ベストアンサー
エクセルで複数の検索結果を返す方法
- エクセルの表で複数の検索で結果を返す方法を教えてください。
- グランドゴルフのスコア表にチーム名を入力したらチームの名前がチームナンバー通りに出るようにするには、どうしたら良いですか?
- エクセルの関数を使ってスコア表でチーム名を検索する方法を教えてください。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
何かを抽出する作業については数式で処理するのは止めといた 方がいいと思います。他の人の回答を見れば分かる通り 数式が 複雑になりますし データ量によっては処理も重くなります。 何より ご自分で数式の意味が分からなくなるのでは? どうしてもという場合は作業列を使います。 ■Sheet1の E2セル =B2&A2 下方向にオートフィルコピー メンテナンスが面倒なら A1:D7セルの範囲をテーブルにしてお けばいいです。 ■Sheet2の B2セル =IFERROR(INDEX(Sheet1!C:C,MATCH(B$1&A2,Sheet1!E:E,0)),"") これくらいなら 分かりやすいかと思います。 個人的には ピボットテーブルでの集計をお勧めします。 フィルター:「チーム名」 行フィールド:「氏名」 Σ 値:「最大値 / 生年月日」 以上で終了です。 ピボットテーブル上で右クリック メニューの[デザイン]→[レポートのレイアウト]→[表形式で表示] で望んでいる表の形とほぼ同じになるはずです。
その他の回答 (3)
- tom04
- ベストアンサー率49% (2537/5117)
こんばんは! 一例です。 ↓の画像で左側がSheet1・右側がSheet2とします。 Sheet2のA4セルに =IFERROR(INDEX(Sheet1!A$1:A$1000,SMALL(IF(Sheet1!$B$1:$B$1000=$B$1,ROW($A$1:$A$1000)),ROW(A1))),"") これは配列数式になりますので、Ctrl+Shift+Enterで確定! この画面からこぴー&ペーストする場合は 上記数式をドラッグ&コピー → A4セルを選択 → 数式バー内に貼り付け → そのまま(編集可能なまま) Ctrl+Shiftキーを押しながらEnterキーで確定! 数式の前後に{ }マークが入り配列数式になります。 これを列・行方向にフィルハンドルでコピー! これで画像のような感じになります。 ※ Sheet1が空白セルの場合は画像のように「0」が表示されてしまいますので 数式で処理しても良いのですが、Excel2007以降をお使いだとすると Sheet2を選択した状態で 画面左上のOfficeボタン(Excel2010の場合はファイル) → Excelのオプション(オプション) → 詳細設定 → 「次のシートで作業するときの表示設定」 → 「Sheet2」が選択されているコトを確認し、「ゼロ値のセルにゼロを表示する」のチェックを外しておきます。 こんな感じではどうでしょうか? ※ 画像ではB列が表示されていますが、実際はSheet2のB列は不要だと思います。 その場合は数式が若干変わってきます。 とりあえずはこの程度で・・・m(_ _)m
- shintaro-2
- ベストアンサー率36% (2266/6245)
↓が参考になれば幸いです。 http://pc.nikkeibp.co.jp/pc21/tech/excel36/27/
- MackyNo1
- ベストアンサー率53% (1521/2850)
例示のレイアウトならB2セルに以下の式を入力して下方向にオートフィルしてください。 =IFERROR(INDEX(Sheet1!$C$2:$C$1000,MATCH(A2&$B$1,INDEX(Sheet1!$A$2:$A$1000&Sheet1!$B$2:$B$1000,),0)),"") #ご使用のExcelのバージョンが記載されていませんので、ひとまず2007以降のバージョンで使用できる数式を提示しましたが、Officeソフトはバージョンによって使用できる機能や操作方法が大きく異なりますので質問の際には、必ずバージョンを明記するようにしましょう。
お礼
ありがとうございました。勉強になりました。
お礼
わかりやすいサイトをありがとうございました。 勉強になりました。