アプリ版:「スタンプのみでお礼する」機能のリリースについて

エクセルの関数について教えてください。あまり詳しくありません。
シートが2つあります。1枚目のシートにデータがたくさん入っており、仮にデータを以下のとおりとします。
 A   B    C    D
イチロー 51  マリナーズ    
松井   55  ヤンキース
岩村   1   レイズ
○○   ○   ○○○
D列はプルダウンでヒットor三振が選べるとします。
2枚目のシートは次のようになっているとします。
 A(背番号) B(球団) C(選手名)

このようなときに、1枚目のシートのD列プルダウンでヒットを選んだときにだけ、2枚目のシートにそのヒットを選んだ人のデータを自動的に表示できるようにできないでしょうか。
ご教示ください。

A 回答 (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枚目の上から表示できないものかと思った次第です。
もし違っていたらすいません。

補足日時:2009/04/17 22:11
    • good
    • 0

はじめまして


単純な方法ですが

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枚目シートにオートフィルタ機能を使い空白行は表示しないようにする
というのはどうでしょうか?
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
この場合ですと、D2に最初にヒットが入ればいいですが、D2は空白のままD3が最初にヒットになる場合またはD4が最初の場合などに対応できなくないでしょうか?

お礼日時:2009/04/17 19:59

D列をプルダウンで選ぶ場合も、人間がD列に入力する場合も変わりないことをしっかり知っておくこと。

わざわざ書いているのは、差が有ると思っていないか。
ーーーー
だからD列のセルの値が、「ヒット」に変わったとき、その行を
2枚目のシート(シート2)に追加すればよい。素直な考えで、これはVBAのChangeイベントで対処できる。しかしシート1でヒットだった行を三振に訂正したりすると処理が難しい。
一歩前の状態(セルの値)を割り出すのが難しいので。
D列変化の都度毎回リストのやり直しすれば出来るかもしれない。
ーー
そういうことで関数が適当かと思う。
この質問は、抜き出し問題になるわけだ。
しかしエクセルの関数は、抜き出し問題は複雑になって難しい。
エクセル関数はデータ計算用が主で、行・列に関してセル・データ位置を変えるのは工夫がいる。
中間作業列を作って、やる方法をimogasi方式として、たくさん回答している。Googleで「imogasi方式」で照会すること。
その方法は、D列で、上から「ヒット」の値の行に連番を振る。
そしてこの連番とシート2の行番号を関連付けて、シート1から列データを採ってくる。INDEX関数・MATCH関数を利用。
シート1とシート2は項目列順序や数に違いが有るが、imogasi方式の場合、INDEX関数の式の一部(「引数)が応じて変わるだけで、差し支えない(難しくはならない)。
ただどんなやり方にしろ、初心者なら易しくは無い課題。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

imogasi方式ですか。。初耳です。一回調べてみます。
けれど初心者には易しくないのですか。。

お礼日時:2009/04/17 20:00

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!