• ベストアンサー

一行全部の抽出

こんにちは、いつもお世話になっています。 ただいま、エクセルで「みんなの予定表」なるものを作成しております。 A列に日付、B列以降は個人名を入力しており、個人が一列を使って予定を入力していく方式です。 ↓こんなかんじ Date やまだ  さとう  すずき ・・・ 11/1  会議   年休   出張 11/2 11/3 ・ ・ ・ ところで、この予定表の一番上は「本日の予定」として、今日の日付をA列から抽出して(=today()でやってます)、その行全体を表示するようにしたいのですが、どのようにしたらうまくできるでしょうか?よい方法をご存知のかた、アドバイスいただければと思います。よろしくお願いいたします。

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

  • ベストアンサー
  • snoopy64
  • ベストアンサー率42% (337/793)
回答No.1

B1に「やまださんの予定」、C1に「さとうさんの予定」を出す例を。 B1に「=VLOOKUP(TODAY(),$A:$D,2,0)」 C1に「=VLOOKUP(TODAY(),$A:$D,3,0)」 ただし、A列の日付はシリアル値で入っていることが前提です。 頑張ってくださいヽ(^。^)ノ

noname#105027
質問者

お礼

なんだかわけの分からない文章で質問してしまったのに、お答えいただき、ありがとうございました。 vlookupって、こういうときに使うのですね。みんなの予定はうまく表示できました。しかしついでにA1にも日付を出そうと思ったのですが、today()を入れるとほかのセルの値が狂ってしまいました。何かよいお知恵がありましたらまたお願いいたします。自分でももう少し関数を探してみようと思います。

その他の回答 (3)

  • snoopy64
  • ベストアンサー率42% (337/793)
回答No.4

#1です。 VLOOKUPデビューおめでとうございます! これから何度も使うことになると思いますよ。 さて、A1に「=TODAY()」を入れたらVLOOKUPの結果がおかしくなったんですね? これは、VLOOKUPの検索範囲に1行目を含んでいるために、1行目でマッチしてしまうためです。 ですので、 「=VLOOKUP(TODAY(),$A$2:$D$32,2,0)」 のように変えてみてください。 頑張ってください(^o^)丿

  • ta123
  • ベストアンサー率51% (95/186)
回答No.3

全員同じ関数を使う方法を考えてみました。 例えば、=today()がセルA2に、11/1が5行目から開始している場合 全員の本日の予定 :=INDIRECT(ADDRESS(DAY($A$2)+4,COLUMN())) 「ADDRESS(DAY($A$2)+4」の+4が11/1の行番号-1の値です。

  • imogasi
  • ベストアンサー率27% (4737/17070)
回答No.2

>A列から抽出して(=today()でやってます など意味が採れない点がありますが、独断の仮定で (例データ)Sheet3のA1:X32に 本日の予定表 日付/氏名 山田 佐藤 鈴木 2004-11-1  会議 出張 年休 2004-11-2 2004-11-3 2004-11-4  展示会 企画会議 出張 2004-11-5 2004-11-6 2004-11-7 2004-11-8 2004-11-9 大部分省略。 別シートに本日分だけ抜き出すとして Sheet4のA1:X5に 本日の予定表 日付 2004-11-4 日付/氏名 山田 佐藤 鈴木 2004-11-4  展示会 企画会議 出張 第3行目までは定数で、第1第3行はSheet3よりコピー。 C2には日付を入れる。=TODAY()でもよい。 A4セルに =INDEX(Sheet3!$A$2:$X$32,MATCH($C$2,Sheet3!$A$2:$A$32,COLUMN(A3)-1),0) といれて、人数分(+1)の列数まで(横方向に)複写する。 それで結果上記の通りとなります。 付記:人を縦に並べることも可能でしょう。

関連するQ&A