プロが教える店舗&オフィスのセキュリティ対策術

エクセル関数を教えてください

このような↓

別ページにある、△△(具体的には氏名が入る)と書いてあるセルを探して基準にし、そこを基準にして指定した数値分(具体的には右に2、下に2)移動したところにあるセルの数値を返す。

です!
オートフィルでコピーし、シート名と△△の氏名だけを書き換えればOK!みたいなのを狙ってます。
年度末の集計表のため、困ってます。
よろしくお願いします!

A 回答 (4件)

希望に近いのはOFFSET関数ですね。

お調べ下さい。
基準セルをどう探すかが肝っぽいですが。
    • good
    • 1
この回答へのお礼

そうなんですよね。offsetっぽいなとは思いつつ。そこでつまづきました。
ありがとうございます!

お礼日時:2017/03/24 11:52

こんにちは



例えば、シート2(別ページ)のA列に名前のリストが並んでいるとします。

個別に探したい名前が(シート1の)A1セルにあるとして、
 = MATCH(A1,Sheet2!$A:$A,0)
のようにすると、その名前がリストの何番目に存在するかの数値が返されます。

これを利用して、右に2列、下に2行移動したセルの値なら
 = OFFSET(Sheet2!$A$1,MATCH(A1,Sheet2!$A:$A,0)+1,2)
とすることで、値が取得可能です。

※ 実際のリストの形式やセル範囲など、及び、個別の氏名のセル位置などが不明ですので、適切に修正してください。
※ 上記はエラー処理(リスト内に一致するものが無い場合等)は行っていませんので、必要な場合は付け加えてください。
    • good
    • 0
この回答へのお礼

ありがとうございます!
シンプルで汎用性も高く、同じような状況があれば、またつかってみたい関数でした。
実際にこれから現場で使わせてもらいます。
ありがとうございました!

お礼日時:2017/03/24 11:53

OFFSET関数で良いでしょう。


さらにOFFSET関数で基準にするセルを指定すればいい。

 =OFFSET(OFFSET(A1,MATCH(”△△”,A1:A100,0)-1,0,1,1),2,2)

みたいに。
※OFFSET関数の使い方を確認してください。


・・・
他のシートを参照する場合は、
 シート名+!+セル番地
で指定することは御存じですよね。
 =Sheet2!A1:A100
こんな感じ。
    • good
    • 0
この回答へのお礼

すいません。私の説明不足の中で、今回一番状況に合ってて、かつシンプルな関数だったNO.2さんをベストアンサーに選ばせていただきました。
またなにかあればアドバイスお願いします!!
ありがとうございました!!!

お礼日時:2017/03/24 11:53

別ページとは別シートのことでよろしいでしょうか?


氏名の入っている列/行は全くのランダムでしょうか?
それとも、列或いは行が分かっている状態でしょうか?

仮に列が固定されて(分かって)いるなら、
A1にシート名
B1に検索列
C1に検索氏名
を入力しているとして、
該当セルの2つ右2つ下のセルのデータを表示させる式は
=INDIRECT(A1&"!"&ADDRESS(MATCH(C1,INDIRECT(A1&"!"&B1&":"&B1),FALSE)+2,COLUMN(INDIRECT(B1&1))+2))
でどうでしょうか。
『A1』シートの『B1』列で『C1』に該当する行を検索し、その行に2加えた行番号と、『B1』の列番号に2加えた列番号からなる『A1』シートのセルにあるデータを表示させる。という式です。
検索はMATCH、表示させたいセル番地の表示はADDRESS、列名を列番号に変換するのはCOLUMN、
各式で文字式を組み合わせ、それを関数に使えるデータに変換しているのがINDIRECT、といった具合です。
今回は+2と直接入力していますが、これも変化させるようでしたらセル参照とするのも良いかと。
    • good
    • 0
この回答へのお礼

すいません。私の説明不足の中で、今回一番状況に合ってて、かつシンプルな関数だったNO.2さんをベストアンサーに選ばせていただきました。
またなにかあればアドバイスお願いします!!
ありがとうございました!!

お礼日時:2017/03/24 11:53

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