[[20250616120247]] 『xlookupが存在しない0を返す』(はばた) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) |

| 全文検索 | 過去ログ ]

 

『xlookupが存在しない0を返す』(はばた)

XLOOKUP(c3,a:a,b:b,"",0,-1)が0を返します。なぜかそれに加えてc31以降を参照する場合空白を返します。
これからデータが増えるデータでc1、c2の検索はしっかり出来ているのですが、c3〜c30を参照している場合数値で0を返します。決して入力し直したりしましたが治りません。(ぐちゃぐちゃにフィルをしているとたまに1つのセルだけ空白を返します。)どうやれば空白を返してくれるでしょうか?if等は最終手段でお願いします。
ただしCOUNTIF(b:b, 0)、COUNTIF(b:b, "=0")、len(c3)は0を返します。c:cはc1、c2以外空白です。

< 使用 Excel:Microsoft365、使用 OS:ios >


 XLOOKUP関数は検索値が空白(未入力)セルでも
検索可能なので
=ROW(XLOOKUP(C3,A:A,B:B,"",0,-1))
としてみると1048576(最終行)を返していることが
分かります
 >if等は最終手段でお願いします。
↑が最も簡単な方法です
(はてな) 2025/06/16(月) 12:33:48

 もろかぶりなのですが、せっかく書いたので

 >len(c3)は0を返します
 C3セルは空ってことですか?

 =CELL("address",XLOOKUP(C3,A:A,B:B,"",0,-1))
 とすると、どのセルが返っているか、セルアドレスを知ることができます。
 $B$1048576が返ってきます。
 検索値が空(EMPTY)なので、下から検索して最初に見つかったEMPTYのセルが返されています。

 検索するのが文字列なら
 =XLOOKUP(C3&"",A:A,B:B,"",0,-1)
 検索するのが数値なら
 XLOOKUP(C3*1,A:A,B:B,"",0,-1)
 とか

 >IF等は最終手段
 IFで分岐するのが最初に思い浮かぶ手段ですね
(´・ω・`) 2025/06/16(月) 12:42:15

はてな 関数試してみましたが3が返って来ます。
追記
chatGPTに相談してみて拉致が開かないのでここに来ました。"ただし"以下の関数はその時に聞かれた内容を乗っけてます。
(はばた) 2025/06/16(月) 14:50:30

 (´・ω・`)さんから提案があった下記の式ではうまくいきませんか?
 >  検索するのが文字列なら
 >  =XLOOKUP(C3&"",A:A,B:B,"",0,-1)
 >  検索するのが数値なら
 >  =XLOOKUP(C3*1,A:A,B:B,"",0,-1)
(xyz) 2025/06/16(月) 16:50:04

 TRIMRANGE関数が使える環境であれば(Excel365のすべてのユーザーが使えるのか、私には不明です)、
 =XLOOKUP(C3,TRIMRANGE(A:A,2),TRIMRANGE(B:B,2),"",0,-1)
 (その短縮形として
   =XLOOKUP(C3,A:.A,B:.B,"",0,-1)  ドットに注意してください)
 とすればA列の検索範囲が狭くなって(*)、結果として見つからないので、その際の既定値である""が返ります。
 (*)TRIMRANGEにより、A列のデータあり最終行より下のセルは対象からはずれます。

 =IF(C3="","",XLOOKUP(C3,A:A,B:B,"",0,-1))
 も、それほど毛嫌いするようなものじゃないと思います。
(xyz) 2025/06/16(月) 18:05:10

 >はてな 関数試してみましたが3が返って来ます。
=ROW(XLOOKUP(C3,A:A,B:B,"",0,1))
なら分かるけど
=ROW(XLOOKUP(C3,A:A,B:B,"",0,-1))
で3が返るのなら
A4:A1048576全てが入力済みになるとけど・・・
(A3が未入力)
 >たまに1つのセルだけ空白を返します。
検索値が未入力ではなく、空文字("")だと
エラーになり""が返るけど
(はてな) 2025/06/17(火) 09:43:09

コメント返信:

[ 一覧(最新更新順) ]


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