アプリ版:「スタンプのみでお礼する」機能のリリースについて

例)
    A     B     C      D    E      F     G      F
1 2015年1月15日 Aさん 2016年2月1日 Bさん 2016年3月4日 Cさん 2016年2月1日 

このような表でAからFのなかでGと同じ日付の右隣のデータをFに表示したいです。
表現が下手で申し訳ありません。
エクセル初心者なのでわかりやすくお願いいたします。

質問者からの補足コメント

  • つらい・・・

    すみませんHです。そしてHにAさんBさんCさんの名前だけを表示したいのです。

    No.1の回答に寄せられた補足コメントです。 補足日時:2016/07/18 17:17

A 回答 (3件)

余計なお世話かもしれませんが、エクセルとしては、同じ列(あるいは行)で同種データを扱った方が後々楽だと思いますよ。

1行目と同じスタイルのデータが2行目以降も続くなら別ですが…

例えばA列には日付を入れて、B列にはA列の日付に該当する人の名前を入れる。そこから見やすいように一つ空けて、D2セルに検索値を、E2セルに結果が出るようにすれば表としても見やすいと思います。

例)
*|---------A---------|------B-----|-------C-------|-------D---------|------E-------|
1|-------日付--------|----名前----|----------------|-----検索値------|--検索結果---|
2|- 2015年1月15日-|---Aさん----|----------------|-2016年2月1日-|----Bさん----|
3|--2016年2月1日--|---Bさん----|
4|--2016年3月4日--|---Cさん----|

こんな感じです。うまく反映されてるかな…
1行目は見出しとし、2行目以降を管理するデータとします。
D2セルの日付は手打ちで、検索したい日付を入力します。
E2セルには以下の関数をイコールから括弧閉じまでそのまま全部入れてください。
  =IF(D2="","",VLOOKUP(D2,A:B,2,FALSE))

=VLOOKUP(D2,A:B,2)だけでも良いのですが、これだとD2に何も入力してない状態でエラーとなってしまいます。
なので、『もしもD2が空の場合は空のまま、D2の値があればVLOOKUP(D2,A:B,2,FALSE)の結果を表示する』という意味の関数を入れます。
今後多用する形だと思います。(本当はこれらの関数に絶対参照や相対参照というのも絡んでくるのですが、ややこしくしないために省略します。)
VLOOKUPは今回の場合、D2に入力された値と完全一致する値をA:B(A列とB列の全行)から検索し、その2列目(この場合はB列)の値を参照する、という意味の関数です。
ただし、VLOOKUPは左側の値を取得できませんので、例えばAさんに該当する日付を知りたい場合はVLOOKUPは使えません。その場合はMATCHやINDEXやOFFSETを使わなければなりません。

話は反れますが、日付は全て『2016/2/1』という形式で扱った方が良いですよ。
で、A列全体を選択して右クリック→[セルの書式設定]→[表示形式]→[日付]より好きな形式を選んでください。和暦表示がよければユーザー定義で『ggge"年"mm"年"dd"日"』(平成28年02月01日と表示される)もしくは『ggge"年"m"年"d"日"』(平成28年2月1日と表示される)としてください。
なぜこうするかというと、例えばAさんに該当する日付から今日で何日経過したのかを知りたい場合、仮にC2セルに『=DATEDIF(A2,TODAY(),"D")』と入力しますが、ここでA2の値が『2016年2月1日』とそのまま漢字混じりで入ってるとエクセルは計算してくれなくなります。
これは今後、数量に単価を掛ける場合などにも応用されます。数量の欄に単位(例:50本、15人、150mなど)を一緒に入れててしまうと計算されません。なので単位は単独で隣の列に入力することになります。

大変長くなりましてすみません。
私も最初の頃は何度も後戻りして全部入力し直したりと、苦い経験をしてますもので、ついお節介になってしまいます。

お力になれれば幸いです。
    • good
    • 0

H1: =INDEX(A1:F1,MATCH(G1,A1:F1,0)+1)

    • good
    • 1

「このような表でAからFのなかでGと同じ日付の右隣のデータをFに表示したいです。

」は「このような表でAからFのなかでGと同じ日付の右隣のデータをHに表示したいです。」の間違えでは?その場合は「=IF(G1=A1,B1,IF(G1=C1,D1,IF(G1=E1,F1,"")))」をH1セルに代入して必要なだけオートフィルしてください。
この回答への補足あり
    • good
    • 2

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

このQ&Aを見た人はこんなQ&Aも見ています