こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

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

もし、B6~B205までにD482と同じ数値であれば先に検索したB6~B205と同じ行のAJの数値を表示させたいです。
すいませんができれば簡単で結構ですので解説も付けていただけるとありがたいです。

投稿日時 - 2012-06-22 12:02:57

QNo.7548057

すぐに回答ほしいです

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

=IF(COUNTIF(Sheet1!B:B,D482),INDEX(Sheet1!AJ:AJ,MATCH(D482,Sheet1!B:B,0)+1),"")

式の意味はシート1のB列にD482の社員番号が有れば、シート1のB列でD482の社員番号を検索して、その行より1つ下の行にあるシート1のAJ列での値を表示しなさい、社員番号が無ければ空白にしなさいという意味です。

投稿日時 - 2012-06-22 13:40:12

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(4)

ANo.4

もしかしてシート2の給料明細は、社員毎にシートが異なるのでしょうか?
それともシートは1つだけで、何らかの仕掛けで、シート2のD482内の社員番号が変更になるのでしょうか?

後者でしたら、シート2のB485にNo.2さんやNo.3さんの回答を入れれば問題ないと思いますが。

投稿日時 - 2012-06-22 16:27:54

ANo.2

VLOOKUP関数で検索して引っ張ってきます
=VLOOKUP(D482,Sheet1!B6:AJ205,35,FALSE)

AJ列はB列を1列目と数えてB列から右に35列目なので,数式の中に35と記入します。
VLOOKUP関数をマスターすればエクセル初級卒業なので,ネットなどを検索して利用できるようになっておいてください。


#実際にはふつーに応用として
=IF(D482="","",VLOOKUP(上述の通り))
のように使います。

投稿日時 - 2012-06-22 13:35:43

ANo.1

AJの数値を表示させる列は決まってますか?

具体的に、各行単位でD482と比較して、同一なら、同じ行の特定列にAJの内容を表示させるってことでしょうか?
例)
※結果を表示させる列がAKの場合
B6とD482を比較→同一だったので、AK6にAJ6の内容を表示

こんな感じでしょうか?

これでよければ、
=IF(EXACT(B6,D$482),AJ6,"")
を結果を表示させる列に入力してください。
※例の場合は、セルAK6に入力。
※セル書式で表示形式/分類/標準にしてください。

EXACT(A,B)は、AとBの内容を比較し、同一ならTrueを返します。
IF(A,B,C)は、AがTrueの時はBの値、AがFalseの時はCの値を返します。

いかがでしょうか?

投稿日時 - 2012-06-22 12:16:01

補足

シート1のB列に社員番号が入ってます。
シート1のAJの列に出勤日数が入ってます。
シート2の給料明細のD482に社員番号が入ってます
シート2のB485にD482に入ってるシート1の社員番号の一行したのAJの列の数値を表示させたいです。
ちょっと内容が変わりましたがすいませんがご教授下ればありがたいです。

投稿日時 - 2012-06-22 12:38:07

あなたにオススメの質問