[[20240130115535]] 『XLOOKUPのエラーについて 配列因数のサイズが異ax(とら) ページの最後に飛ぶ

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

 

『XLOOKUPのエラーについて 配列因数のサイズが異なります』(とら)

エクセルではなくスプレッドシートを利用なのですが、下記数式を入れると、「XLOOKUPの配列因数のサイズが異なります」と出て困っています。
サイズは同じですし、なぜこのエラーが表示されるのかがわかりません。

=XLOOKUP(TRUE,('Menu List '!$B$3:$B$128=B3)+('Menu List '!$C$3:$C$128=B3)>0,'Menu List '!$A$3:$A$128)

利用しているシートのB3のメニュー名が「Menu List」のB列またはC列 の値と一致する場合は、「Menu List」A列の番号を反映させる という内容の式です。実はD列までありますが、とりあえず、B列、C列で検索しています。

Menu Listではセルの配合など一切行っていません。

この式に問題があるか教えていただけますでしょうか。
もし問題がない場合、上記内容の式を入れたいので、他の式でも構いませんので教えていただけますと幸いです。

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

< 使用 Excel:unknown、使用 OS:unknown >


Excel for the webで確認したところ、正常に動作しているように見えます。
(ゆたか) 2024/01/30(火) 12:36:49

質問者のいう「スプレッドシート」が「Googleスプレッドシート」のことだとしたら
配列数式を確定するのに ArrayFormula関数にネストする必要があると思います。
(d-q-t-p) 2024/01/30(火) 12:44:08

ありがとうございます。
失礼しました。おっしゃる通り、利用しているのは、Google スプレッドシートのことです。
ArrayFormulaの関数は初めて知りました。試してみます。
(とら) 2024/01/30(火) 13:37:59

 実験してみると、この部分が配列になってないようです。(ARRAYFORMULA関数を噛ませる必要がある)
          ↓
 ('Menu List '!$B$3:$B$128=B3)+('Menu List '!$C$3:$C$128=B3)>0

 ただ、ARRAYFORMULAを噛ませても望む結果は得られないでしょう。
 1行分しかヒットしないので、複数行該当したらお手上げです。

 filterが合っているでしょう。
 =filter('Menu List '!A3:A128,('Menu List '!B3:B128=B3)+('Menu List '!C3:C128=B3))

(半平太) 2024/01/30(火) 13:44:14


いつも通り、激しく勘違いで失礼しました。

 =ARRAY_CONSTRAIN(ARRAYFORMULA(XLOOKUP(TRUE,('Menu List '!$B$3:$B$128=A3)+('Menu List '!$C$3:$C$128=A3)>0,'Menu List '!$A$3:$A$128)), 1, 1)

で、どうでしょうか?

Excelで動いている式をそのままGoogle スプレッドシートに持っていくのが最適解というわけではないと思いますが、とりあえずは動くかも。
(ゆたか) 2024/01/30(火) 14:50:33


なぜかA3になっていました。B3に変えて読んでください。

 =ARRAY_CONSTRAIN(ARRAYFORMULA(XLOOKUP(TRUE,('Menu List '!$B$3:$B$128=B3)+('Menu List '!$C$3:$C$128=B3)>0,'Menu List '!$A$3:$A$128)), 1, 1)
(ゆたか) 2024/01/30(火) 14:57:36

コメント返信:

[ 一覧(最新更新順) ]


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