エクセルの関数について教えてください。あまり詳しくありません。
シートが2つあります。1枚目のシートにデータがたくさん入っており、仮にデータを以下のとおりとします。
A B C D
イチロー 51 マリナーズ
松井 55 ヤンキース
岩村 1 レイズ
○○ ○ ○○○
D列はプルダウンでヒットor三振が選べるとします。
2枚目のシートは次のようになっているとします。
A(背番号) B(球団) C(選手名)
このようなときに、1枚目のシートのD列プルダウンでヒットを選んだときにだけ、2枚目のシートにそのヒットを選んだ人のデータを自動的に表示できるようにできないでしょうか。
ご教示ください。
No.3ベストアンサー
- 回答日時:
No2で回答した者です
おっしゃってる意味がよくわかりませんが、数式は下の行にフィルして下さい
2枚目のシートには2行目から数式が入るため、1枚目のシートのデータも2行目から入力されている状態にして下さい
試してみられて上手くいかなかったのでしょうか?
D2が空白なら2枚目シートには何も表示されず、D3が「ヒット」なら2枚目シートの3行目に1枚目シートのデータが表示されるとおもいますが・・・
1枚目シートのD列が「ヒット」の場合のみ、2枚目シートの(1枚目と)同じ行にデータが表示されます
そうなると「ヒット」ではないときは、何も表示しないように数式がなっているので空白行が多くなるため オートフィルタで空白行を表示しないようにしたらいいと思います
この回答への補足
すいません。<2枚目シートにオートフィルタ機能を使い空白行は表示しないようにする>というのをしっかり理解していませんでした。たしかにkokoko555さんがおっしゃるとおりできそうです。
しかし、質問の意図をなるべく簡潔に理解してもらおうと最初の質問で詳細に書かなかったのでいけないのですが、1枚目のデータには3000行以上のデータがあるのです(今後もどんどん増えていきます)。そうしますと2枚目のシートにも同じだけの行が必要かと?
また、仮に自分だけの利用でしたらその仕組みをしっかり理解していればいいと思いますが、当該ファイルは共有ドライブにありまして私のほかにも2,3名(私よりエクセルの知識がないもの)利用するのです。そうしますとちょっと不便かなと・・・
ですので2枚目に1枚目と同じだけの行を作らずに、2枚目の上から表示できないものかと思った次第です。
もし違っていたらすいません。
No.2
- 回答日時:
はじめまして
単純な方法ですが
2枚目シート A1,B1,C1それぞれに見出しとなる項目入力する(後でフィルタを使うため)
A2に=IF(Sheet1!$D2="ヒット",Sheet1!$B2,"")
B2 =IF(Sheet1!$D2="ヒット",Sheet1!$C2,"")
C2 =IF(Sheet1!$D2="ヒット",Sheet1!$A2,"")
1枚目シートのD列が”ヒット”ではない時は空白になるので
2枚目シートにオートフィルタ機能を使い空白行は表示しないようにする
というのはどうでしょうか?
回答ありがとうございます。
この場合ですと、D2に最初にヒットが入ればいいですが、D2は空白のままD3が最初にヒットになる場合またはD4が最初の場合などに対応できなくないでしょうか?
No.1
- 回答日時:
D列をプルダウンで選ぶ場合も、人間がD列に入力する場合も変わりないことをしっかり知っておくこと。
わざわざ書いているのは、差が有ると思っていないか。ーーーー
だからD列のセルの値が、「ヒット」に変わったとき、その行を
2枚目のシート(シート2)に追加すればよい。素直な考えで、これはVBAのChangeイベントで対処できる。しかしシート1でヒットだった行を三振に訂正したりすると処理が難しい。
一歩前の状態(セルの値)を割り出すのが難しいので。
D列変化の都度毎回リストのやり直しすれば出来るかもしれない。
ーー
そういうことで関数が適当かと思う。
この質問は、抜き出し問題になるわけだ。
しかしエクセルの関数は、抜き出し問題は複雑になって難しい。
エクセル関数はデータ計算用が主で、行・列に関してセル・データ位置を変えるのは工夫がいる。
中間作業列を作って、やる方法をimogasi方式として、たくさん回答している。Googleで「imogasi方式」で照会すること。
その方法は、D列で、上から「ヒット」の値の行に連番を振る。
そしてこの連番とシート2の行番号を関連付けて、シート1から列データを採ってくる。INDEX関数・MATCH関数を利用。
シート1とシート2は項目列順序や数に違いが有るが、imogasi方式の場合、INDEX関数の式の一部(「引数)が応じて変わるだけで、差し支えない(難しくはならない)。
ただどんなやり方にしろ、初心者なら易しくは無い課題。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) ユーザー定義について質問です。 2 2023/06/28 13:21
- Excel(エクセル) Excelで、別シートの表のステータスに伴った動的な自動転記をしたいです。 2 2023/06/14 15:56
- Excel(エクセル) エクセルシートのデータを1列飛ばしで別ブックのシートに貼り付けるマクロが知りたい 2 2023/06/05 22:37
- Excel(エクセル) VLOOKUP が機能しない、その原因は何 ? 8 2022/10/19 12:06
- Excel(エクセル) Excel VBAプルダウンの値を変えながら2枚ずつ印刷する方法? 4 2022/05/27 13:04
- Excel(エクセル) エクセルの数式で教えてください。 1 2023/02/02 10:20
- Excel(エクセル) 同じExcelのBOOK内で 1枚目のシートのA1のセルにデータを 入れると2枚目のシートのC1のセ 1 2022/10/25 09:40
- Excel(エクセル) 【Excel関数】値が合致するセルの隣のセルを表示させたい 8 2022/10/12 17:44
- Excel(エクセル) エクセルのマクロで複数シートを両面印刷するには? 2 2022/12/08 23:23
- Excel(エクセル) 【エクセル」 特定のセルで条件抽出した列を、別シートに上から詰めて表示したい。 8 2022/04/08 16:00
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAで繰り返しコピーしながら下...
-
エクセルの保護で、列の表示や...
-
文字の色も参照 VLOOKUP
-
ExcelのVlookup関数の制限について
-
オートフィルタ使用時にCOUNTIF...
-
【条件付き書式】countifsで複...
-
【VBA】ピボットテーブルを既存...
-
エクセル マクロ 標準モジュー...
-
エクセルVBA 行追加時に自...
-
エクセルで、book全体の検索&...
-
エクセルの列の限界は255列以上...
-
Excel の複数シートの列幅を同...
-
Excelでの並べ替えを全シートま...
-
エクセルで横並びの複数データ...
-
エクセルVBAで、ある文字を含ん...
-
スプレッドシートでindexとIMPO...
-
シートをまたぐ条件付き書式に...
-
エクセル関数に詳しい方、教え...
-
Excelで全てのシートに一気に列...
-
VLOOKアップ関数の結果の...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ExcelのVlookup関数の制限について
-
文字の色も参照 VLOOKUP
-
オートフィルタ使用時にCOUNTIF...
-
エクセルの保護で、列の表示や...
-
VBAで繰り返しコピーしながら下...
-
Excel の複数シートの列幅を同...
-
【VBA】シート名と見出しが一致...
-
エクセルで横並びの複数データ...
-
エクセルの列の限界は255列以上...
-
Excelでの並べ替えを全シートま...
-
【条件付き書式】countifsで複...
-
VLOOKアップ関数の結果の...
-
Excel VBA ピボットテーブルに...
-
エクセル マクロ 標準モジュー...
-
Excelで、ファイル名、シート名...
-
エクセルで、チェックボックス...
-
【VBA】複数のシートの指定した...
-
エクセルVBAで、ある文字を含ん...
-
スプレッドシートでindexとIMPO...
-
SUMPRODUCTにて別シートのデー...
おすすめ情報