• ベストアンサー

INDEXとSUMPRODUCT関数が分かりません

INDEXとSUMPRODUCT関数で以下の作業を行おうと思っています。 Sheet2に以下の関数を入れたのですが、どこかがおかしいです。 よろしければ、間違いを教えてください。 Sheet2のB2に入れている関数は =INDEX(Sheet1!$A$2:$A$4,SUMPRODUCT((Sheet1!$B$2:$D$4=A2 )*ROW(Sheet1!$B$2:$D$4))) です。

質問者が選んだベストアンサー

  • ベストアンサー
  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.1

INDEX(Sheet1!$A$2:$A$4は、A2から1相対で配列します。 ROW(Sheet1!$B$2:$D$4)は、2からの行番号が配列されます。 よって、インデックスが1ずれることになりますので、 =INDEX(Sheet1!$A$1:$A$4,SUMPRODUCT((Sheet1!$B$2:$D$4=A2 )*ROW(Sheet1!$B$2:$D$4))) 又は、 =INDEX(Sheet1!$A$1:$A$4,SUMPRODUCT((Sheet1!$B$2:$D$4=A2 )*ROW(Sheet1!$B$2:$D$4))-1) で期待通りとなると思います。 因みにROW(Sheet1!$B$2:$D$4)))のROW関数は行番号だから行範囲の指定十分です。 =INDEX(Sheet1!$A$1:$A$4,SUMPRODUCT((Sheet1!$B$1:$D$4=A2 )*ROW(Sheet1!$A$1:$A$4)))と しておくと紛らわしくないです。

gastronome
質問者

お礼

できました。ありがとうございます。

関連するQ&A