web-dev-qa-db-ja.com

条件が満たされた場合にのみTEXTJOIN?

[〜#〜] if [〜#〜]を含むTextJoin関数を使用してみましたが、どういうわけか機能しないようです。私は式を正しく書いたと思いますが、それは私が得ようとしている解決策を与えません。

目的:B列の値がD列の値と一致する場合にのみ、A列の値を出力したい。意図する結果は1,2,3,6である必要があります

誰かが私がどのように成し遂げることができるか知っていますか?私は何か間違ったことをしましたか?ちなみに、私はグーグルスプレッドシートを使用しています。

enter image description here

6
user234568

Ifは、一連の結果ではなく、1つの結果を与えるだけです。必要なもの:

=textjoin(" ,",true,arrayformula(if($B$1:$B$20=$D$1,$A$1:$A$20,"")))
1
Jeremy Kahan

数式は機能します。配列数式として入力し、ctrl + shiftを押したまま、enterを押して配列数式にします。次のようになります。

=ArrayFormula(TEXTJOIN(", ",true,if(B1:B6 = D1,A1:A6,"")))  

フィルタ機能を使用することもできます

=TEXTJOIN(", ",true,FILTER(A1:A6,B1:B6 = D1))
6
James D