• 締切済み

エクセル File の作成で困難に直面しています。

エクセルで使う数式で不明な点があります。どなたかご存知でしたら教えてください。 =VLOOKUP($AA$2,出勤状況!$B$6:$BM$6,3,FALSE) という数式の中にある「$BM$6」の部分についての質問です。 AA2に"4"という値が既に入っています。その数字に"2"を足せば "6" になりますが、それは =AA2+2 で表せると思います。お伺いしたいのは、 =AA2+2 というのを、上に示した「$BM$6」内の数字6の代わりに組み込む方法がないものでしょうか。 エクセル初心者で、説明も下手ですみません。よろしくお願いいたします。

みんなの回答

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.3

 関数の中の 出勤状況!$B$6:$BM$6 という部分を INDIRECT("出勤状況!B6:BM"&AA2+2) 或いは 出勤状況!$B$6:INDEX(出勤状況!$BM:$BM,AA2+2) に置き換えると良いと思います。(推奨は後者の方法です)

mamia_n
質問者

お礼

 後者を試してみたらうまくいきました。エクセル初心者で数式をあまり知らない私ですが、質問内容を的確に理解していただけたので助かりました。  ありがとうございます。

  • 4500rpm
  • ベストアンサー率51% (3211/6286)
回答No.2

>=VLOOKUP($AA$2,出勤状況!$B$6:$BM$6,3,FALSE) →VLOOKUPは、出勤状況!$B$6:$BM$6の表の中から一列目の値が$AA$2の値と同じ物を探し、その行の三列目の値を返しなさいという関数です。 たとえば、出勤状況というシート名から推測すると、$AA$2に人の名前が入っていて、その人のある月の3日の労働時間を返すなどという使い方が普通です。 質問者さんがしたいのは、「現在、出勤状況!$B$6:$BM$6の表の中から、一列目が$AA$2の4という数字と同じ値の行を探し、三列目の数字"6"が返ってきている」のを「出勤状況の表を全く使わないで良い」ということでしょうか。 それとの出勤状況の表は使った上でしょうか。 出勤状況の表を全く使わない場合なら、VLOOKUP関数を使わず”=AA2+2 ”の式をそのセルに入れるだけで良いように思います。 そうでないなら、どのような値が返ってきてほしいかなどもう少し状況を補足願います。

mamia_n
質問者

お礼

ありがとうございます。

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

>=VLOOKUP($AA$2,出勤状況!$B$6:$BM$6,3,FALSE) その数式は間違っている(文法的にはあってるけど数式として意味が無い)ので、その数式について回答しても意味がありませんが、まぁご質問ですので。 >=AA2+2 というのを、上に示した「$BM$6」内の数字6の代わりに組み込む方法 とりあえずご質問の直接の回答としては =VLOOKUP($AA$2,INDIRECT("出勤状況!$B$6:$BM$"&(AA2+2)),3,FALSE) といった具合にする事ができます。 実際の正しい数式では、INDIRECT関数よりもOFFSET関数を利用したほうが簡単かも?しれません。

mamia_n
質問者

お礼

回答をいただきありがとうございました。 きれいな数式でないだろうなと思いつつワークシートを作っています。分かりにくい質問でごめんなさい。

関連するQ&A