XLOOKUPやVLOOKUPは、検索値をもとにデータを探してくれます。
ただ、検索値に該当がないとエラーになります。今回はエラーになった場合の解決策をまとめてみました。
XLOOKUPで当日レートを見つける
今回の事例では、ドルを円換算するという事例です。円換算するのに当日レート(TTM)を使います。

このとき、必要になる当日レートを入力してはいけません。
どこかにデータがないかを探し、あれば、それを活かしましょう。
ネットを探せば何かしらあります。多くの場合は加工すれば使えます。

データをダウンロードして、Excelに貼り付け。

年表示を置換えで修正しておき、


XLOOKUPで日付を検索値として、別シート(2022ドル)に貼りつけたTTMレートのデータを検索範囲とすれば、

レートが表示されます。…と思ったら1つだけ#N/Aの表示になっています。

これは2月11日のレート(TTM)が検索範囲にないからです。

この場合、前日のレートを入力したほうが早いのでしょうが、例外をつくると次に同じことをやるときに困ります。
数式にしておけば、次に同じことをやるときにデータをコピペすれば済みます。
Excelで解決しましょう。
Excelで前日レートを出すには
XLOOKUPを使って前日レートを表示させることができます。検索値がないのに、です。
2022年の年間TTMを「2022ドル」というシートにあるという前提で、
通常はこのような数式にします。が、これだとエラーになるのは前述したとおりです。
=XLOOKUP(A2,’2022ドル’!$A:$A,’2022ドル’!$B:$B)

実はXLOOKUPは上記の数式に次のように続けることができます。
=XLOOKUP(A2,’2022ドル’!$A:$A,’2022ドル’!$B:$B,,-1)
具体的には、「,,-1」とすると該当がない場合に「次に小さい項目」を選ぶことができます。

今回の場合だと2月11日のレートがないので、前日の2月10日のレートを表示してくれます。

このレートですね。

ChatGPTに聞いてみると
ChatGPTにも解決策を聞いてみたところ、VLOOKUPでの解決策を教えてくれました。

ちゃんとTTMを列と読み取っているのがすごいなと。
で、実際にやってみると、エラーです。検索範囲も違えば、

列番号も違います。3列目はありませんから。

気を取り直して、検索範囲、列番号を「2」に変更してみると、データは表示されましたが、先程とは違うレートです。

これは検索値を「A-1」とすることで、すべてのデータで前日のレートを探してきています。
ChatGPTの回答を見ると、確かにそのような意図でした。「各行に前日のレートを…」と。
わたしの伝え方がよくないのかもです。
今度はVLOOKUPやXLOOKUPでどうやるのかも聞いてみましたが、結果は同じです。
VLOOKUPの場合と

XLOOKUPの場合、それぞれで同じような回答。

ということで、これ以降はヒトが対応するところです。
VLOOKUPの場合は、次のように「A2-1」を「A2」とし、FalseをTrueにし「近似一致」にします。
セル
A2セル=VLOOKUP(A2,’2022ドル’!$A:$B,2,TRUE)
これでXLOOKUPの場合と同じレートになりました。

XLOOKUPの検索方法については、過去にも書いています。
Excelの日付表示。XLOOKUPでエラーになる理由・月末や月初を表示する関数。 – GO for IT 〜 税理士 植村 豪 Official Blog
Excel関数(VLOOKUP・XLOOKUP・HLOOKUP)で推移表データから数字を抽出するパターン。 – GO for IT 〜 税理士 植村 豪 Official Blog
ExcelのXLOOKUPでできること。MFやfreeeの推移表に同じデータ(検索値)が2つある場合の解決策 – GO for IT 〜 税理士 植村 豪 Official Blog
入力しなくてもすでにあるデータを利用すれば、入力しなくても済みますし、エラーになったとしてもExcelでなんとかできます。
ということで、参考にしていただけるとうれしいです。
【編集後記】
昨日はじぶんの月次や請求書の送信、確定申告などを。新カメラのα7Ⅳで屋外での撮影。夜に子どもたちの写真を撮ってファインダー越しに見せてみると、「撮りたい」となり、おそるおそる渡して撮影してもらいました。で、けっこういい写真撮ってくれました。
【昨日の1日1新】
※「1日1新」→詳細はコチラ
iPhoneでα7Ⅳの遠隔撮影

