• ベストアンサー

関数について

例えば「A1:D10」の範囲の所々に入力されている文字列等を検索する関数と「HLOOKUP」関数を組み合わせて使うのにはどうしたらいいのでしょうか。(下の数字を返したいのです)  (例)○○費      5,000           ××費           10,000                △△費                 8,000

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

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

ご提示の関数ではありませんが、次の方法は如何でしょうか。 =OFFSET($A$1,SUMPRODUCT(("文字列"=$A$1:$D$10)*ROW($A$1:$D$10)),SUMPRODUCT(("文字列"=$A$1:$D$10)*COLUMN($A$1:$D$10))-1)

minonomamusi
質問者

補足

早速の回答有り難うございます。 内容的には大変に難しく、力不足の私には理解することはできないくらいです。 でも、この通りに入力すれば実行できます。 あと、もう少し教えてください。 1:OFFSET($A$1 この部分の「A1」は例えば「C1」にすると    「0」表示になります。なぜでしょう。 2:範囲の中に同じ文字列があるとやはり「0」表示になります。    解決方法はありますか?

その他の回答 (1)

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

NO1です。 1:OFFSET($A$1 この部分の「A1」は例えば「C1」にすると    「0」表示になります。なぜでしょう。  ⇒表の基準値ですので、A1を行0,列0としていますので列相対が合いません。OFFSET関数のHELPでご確認下さい。 2:範囲の中に同じ文字列があるとやはり「0」表示になります。    解決方法はありますか?  ⇒行列値をSUMPRODUCT関数で求めていますので、複数有る場合、抽出した行列値を合算するのでこの関数では対応できません。   解決方法は、元表の重複部分を取り除くぐらいでしょうか。

minonomamusi
質問者

お礼

いろいろ有り難うございました。 重複部分を取り除く訳にはいきませんので解決方法を考えてみます。 また機会がありましたら教えてください。