OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

特定のセルの値を返す関数を教えてください

  • 困ってます
  • 質問No.211861
  • 閲覧数4504
  • ありがとう数2
  • 気になる数0
  • 回答数2
  • コメント数0

お礼率 50% (1/2)

セルの値の検索といえばVLOOKUP関数ですが、
例えば条件にかなったセルの左上の値を返す・・・などといった
範囲が同じ行に無いものを返す関数などというのはあるのでしょうか?
知ってる方がいましたら教えてください。
通報する
  • 回答数2
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

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

  • 回答No.2
レベル13

ベストアンサー率 68% (791/1163)

   B   C   D
-------------
1|
2|
3| 1  10  100
4| 2  20  200
5| 3  30  300
6| 4  40  400
7| 5  50  500

こんなデータが入力されたシートがあって、C5(=30)を見つけるために、Vlookupを使わないで

 =INDIRECT("C"&MATCH(30,C3:C7)+2) とすると30が表示されます。

これは、C3:C7の中をMATCHで30を探して『3』が答えになります。これに空白行数の『2』を加えて5行目だと分かります。
次に、INDIRECTでC列と5行目を指定して『30』を取り出します。Vlookupの代用品です。代用品を作ったのはVlookupは値を返すためです。INDIRECTは『セル』と思っていいでしょう。

ここで質問の条件にかなったセルがC5とすると
右下のセルD6 =OFFSET(INDIRECT("C"&MATCH(30,C3:C7)+2),1,1)
左上のセルB4 =OFFSET(INDIRECT("C"&MATCH(30,C3:C7)+2),-1,-1) になります。

OFFSET関数は =OFFSET(セル番地,行数,列数)のように使います。
行数は下に行けば+、上が-。列数は右が+、左が-になります。Helpに詳しく書かれています。

ご参考に。
お礼コメント
nao945

お礼率 50% (1/2)

nishi6様
エクセルの回答をいただいたnao945です。
お礼が遅くなって本当にごめんなさい。教えていただいたOFFSET関数こそ
探していた関数でした。本当にありがとう!
投稿日時 - 2002-02-22 00:57:00
-PR-
-PR-

その他の回答 (全1件)

  • 回答No.1
レベル12

ベストアンサー率 52% (322/612)

こんばんは!   A  B  C  D 1 11     B202 式 2 12  A101 3 13  A102 4 14  B201 5 15  B202 6 16  B203 7 17  C301 8 18  C302 9    C303 例えば C1の値に合致するB列を検索して 合致する行の1つ上のA列の値を返すのであれば ・B列に同じコードが無く、A列は数値 ...続きを読む
こんばんは!

  A  B  C  D
1 11     B202 式
2 12  A101
3 13  A102
4 14  B201
5 15  B202
6 16  B203
7 17  C301
8 18  C302
9    C303

例えば C1の値に合致するB列を検索して
合致する行の1つ上のA列の値を返すのであれば

・B列に同じコードが無く、A列は数値 であれば
 =SUMIF(B2:B9,C1,A1:A8)

・A列(返す値が)が数値でなく文字列の場合
 =IF(ISNA(MATCH(C1,B2:B9,0)),"",INDEX(A1:A8,MATCH(C1,B2:B9,0)))

で試してみて下さい!

このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
このやり方知ってる!同じこと困ったことある。経験を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ