[[20180303202741]] 『HLOOKUPで検索したセルの左隣セルを抽出したいのax(らこ) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『HLOOKUPで検索したセルの左隣セルを抽出したいのですが』(らこ)

HLOOKUPで検索したセルの、一つ左のセルの数値を抽出したいのですが、どうしたらよいのでしょうか。

INDEXとMATCHの組み合わせなどを試してみましたが、うまくいかず困っております。


■シート1

A1  検索値となる日付

B4  HLOOKUPで検索したセルの、1つ左の数値

C4  HLOOKUPで検索したセルの数値


■シート2 (データ入力用)

1行(A〜J) 日付

2行(A〜J) 数値


HLOOKUPではなくとも問題はありませんが、
共有ファイルで使用するため、マクロは使用しない方向で考えております。

また、日付は毎日や1週間ごとではなく、5〜8日間で変動します。

このような条件ですが、うまく関数で対応できるでしょうか。

よろしくお願い致します。

< 使用 Excel:Excel2007、使用 OS:Windows10 >


 Sheet2のA1とSheet1のA1(検索値)が同じ日付だったら、B4はどうなればいいんですか?
 Sheet2に左隣のセルがありませんよね。

 その場合は何も表示しない、でいいとして

 >また、日付は毎日や1週間ごとではなく、5〜8日間で変動します。

 ↑ の意味がわからないんですけど、
 Sheet2の日付は、B1はA1の翌日、C1はB1の翌日・・・のように連続してるんですか?

 連続してるんだったら、B4の検索値を「A1-1」(A1の前日)にすればいいです。
 IFERROR関数を使って、検索値がない場合は「""」にする。

 ■日付が連続してない場合

 B4 =IFERROR(INDEX(Sheet2!A2:I2,MATCH(A1,Sheet2!B1:J1,0)),"")
                          ~~~~~                 ~~~~~                    
 Sheet2の2行目に「0」はないんだったら、SUMIFでもいいかも

 B4 =SUMIF(Sheet2!B1:J1,A1,Sheet2!A2:I2)
                  ~~~~~           ~~~~~
 表示形式で「0」を非表示にする。

 参考まで
(笑) 2018/03/03(土) 23:11 修正23:24

 Sheet2に数値を入力しているのは2行目だけですか?

 実は3行目以下にも続いていて、Sheet1のB5、C5以下にその検索結果を返したい、ということではなく?
 続いているのなら、Sheet2は何行目まであるんですか?

 以上、確認だけ
(笑) 2018/03/04(日) 09:20

回答ありがとうございます!

そして、説明がおかしく申し訳ございません。

■日付の件

・同じ日付はありません
・シート2の日付ですが、
 A1が3/1、B1が3/6、C1が3/14 だったりと、次の日付までの日数に規則性がない状態です。

■シート2の数値の件

3行目以下にも数値は入っていますが、
検索結果を同じ列に返すため、INDEXの検索範囲を変えることで対応できました。

(2行目の結果はL2、3行目はL3に表示)
(らこ) 2018/03/04(日) 10:01


 解決したんですか?

 >同じ日付はありません

 言いたいことが伝わってないような・・・

 Sheet2のA1が3/1、B1が3/6・・・だとして、
 Sheet1の検索値が3/6だったら、左隣のセルは「A2」ですよね。
 Sheet1の検索値が3/1だったら、左隣のセルはどこですか? という意味です。

 >検索結果を同じ列に返すため、INDEXの検索範囲を変えることで対応できました。

 具体的にどんな式にしたんですか?

 左隣
 =IFERROR(INDEX(Sheet2!A2:I2,MATCH($A$1,Sheet2!$B$1:$J$1,0)),"")
                      ~~~~~~                   ~~~~~~~~~
 検索値の数値
 =IFERROR(INDEX(Sheet2!A2:J2,MATCH($A$1,Sheet2!$A$1:$J$1,0)),"")
                      ~~~~~~                   ~~~~~~~~~
 検索範囲を絶対参照にする。

 下にコピー

 参考まで
(笑) 2018/03/04(日) 10:56

あああごめんなさい。

> Sheet1の検索値が3/1だったら、左隣のセルはどこですか? という意味です。

IFERRORで、データ無しと表示するようにしています。

=IFERROR(INDEX(Sheet2!A2:I2,MATCH(A1,Sheet2!B1:J1,0)),"データ無し")

> 具体的にどんな式にしたんですか?

 左隣
 =IFERROR(INDEX(Sheet2!A2:I2,MATCH($A$1,Sheet2!$B$1:$J$1,0)),"")
                      ~~~~~~                   ~~~~~~~~~
 検索値の数値
 =IFERROR(INDEX(Sheet2!A2:J2,MATCH($A$1,Sheet2!$A$1:$J$1,0)),"")

まさにこの数式で入力しました。
(INDEX内の範囲は固定無し、MATCH内の範囲は固定)

                      ~~~~~~                   ~~~~~~~~~
(らこ) 2018/03/04(日) 11:24

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.