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

- Sheet 1 -
  A   B  C  D
1 09:00 G  H  J
2 10:00 K  L  M
3 11:00 N  P  Q
4 12:00 R  S  T

- Sheet 2 -
  A   B
1 G
2 H
3 J
4 K
5 L
6 M
7 N
8 P
(以下略)

となっているブックがあるとお考え下さい。
シート1のA列は時刻、B~D列は仕事内容を意味する文字列データが入っています。
シート2では仕事内容がA列に並んでいます(順番はJISコード順ではありません)。
シート2のB列に、仕事内容に対応する時刻データ(シート1のA列)を転記したいと考えています(たとえばB4には"10:00"、B8には"11:00"が入る)。シート1が書き換わるのに応じてシート2のB列に変更内容を反映させるには、どのような数式を設定すればよいでしょうか。
なお、シート1のB~D列は空欄もあり得ます。

VLOOKUP関数でできるか、と思ったのですが、複数の参照列がある場合は適当でないようです。INDEXとMATCHを組み合わせてあれこれ思案していますが、どうもいい方法が思い浮かびません。
VBAの方が簡単なのかもしれませんが、関数でのスマートな実現方法があれば御教示いただければ幸いです。よろしくお願いします。

A 回答 (1件)

Sheet2!B1: =IF(COUNTIF(Sheet1!B$1:D$4,A1),INDEX(Sheet1!A$1:A$4,SU

MPRODUCT((Sheet1!$B$1:$D$4=A1)*ROW(Sheet1!A$1:A$4))),"")

この回答への補足

sumproduct関数の意味と使い方がまだよく理解できていません。
この例で言うとなんでROWが関わってくるのかな?というあたり。
自分でも調べますが、もしよろしければ式の読み解き方を教えていただけるとたいへん参考になります。お暇なときで結構ですのでよろしくお願いします。

補足日時:2007/06/14 12:58
    • good
    • 0
この回答へのお礼

ありがとうございます。これで当座の目的は達成できました。

お礼日時:2007/06/14 12:57

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