関数の動作の仕様のようです。
QUERYは複数の結果を出すことができ、selectの指定が複数の場合やselectがなかった場合は次の列に次々と値を入れるようにできています。しかし、この動作はQUERY独特の動きで、IFS等の他の関数は一つの結果のみが返り、そのセルのみにしか結果を表示できません。そのため、QUERYで返ってきた複数の結果に対して、最初の結果だけが反映されているようです。
他の列も出したいのであれば一つ一つselectで出していくしかないようです。
IFS(NOT(A1=""),QUERY("データシート"!A1:Z, "select A where A="&A1),・・・)
IFS(NOT(A1=""),QUERY("データシート"!A1:Z, "select B where A="&A1),・・・)
IFS(NOT(A1=""),QUERY("データシート"!A1:Z, "select C where A="&A1),・・・)
という感じにです。しかし、この方法は列の分だけクエリが走るし、多いと大変です。そこで、一つのセルにJOINでまとめて出すという方法もあります。
IFS(NOT(A1=""),JOIN(",",QUERY("データシート"!A1:Z, "where A="&A1)),・・・)
区切り文字は後から分割できるように工夫してください。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/04/28 22:38