• ベストアンサー

googleスプレッドシートの関数TEXTJION

上にある表を、下にある表のように、名前の右横に係名がくるように関数で、並べ替えたいです。エクセルのアプリだとできるのに、googleスプレッドシートだと「配列の値が見つかりませんでした。」と出ます。なぜでしょう? googleスプレッドシートです。 よろしくお願いします

質問者が選んだベストアンサー

  • ベストアンサー
  • SI299792
  • ベストアンサー率47% (780/1630)
回答No.1

=textjoin("、",TRUE,INDEX(IF($B$3:$C$6=A9,$A$3:$A$6,""),)) 下へコピペ。 又は =textjoin("、",TRUE,arrayformula(IF($B$3:$C$6=A9,$A$3:$A$6,""))) 下へコピペ。 https://docs.google.com/spreadsheets/d/1VKG_tjg1H0giYJNrgKLQvP53yK7Ax_NoXSFZmZqovN4/edit?usp=sharing グーグルスプレッドで配列を使う場合、INDEX 又はarrayformulaを付ける必要があります。 私は、Excel と互換性のあるINDEX が好きです。(但し、2021orMICROSOFT365)

t16440803
質問者

お礼

ありがとうございました。 スプレッドシートとフォームを勉強中です。 ぜひ、またご教示お願いいたします。

その他の回答 (1)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

>エクセルのアプリだとできるのに 「エクセル(関数)では出来る」で良いのでは。なぜわざわざ「アプリ」を入れるのか。 エクセルを前提にした、「アプリ」は、沢山あろうが、それを使ったような書き方だが、違うだろう。 ーー エクセルでは、やってみると、2013ではTEXTJOIN関数は使えない(2016から新設)。 やるとしたら データ例 A,B列 A2:B6 a1 b1 a2 b2 a3 b3 a4 b4 ーー d2:D6を範囲指定しておいて、D2で 式 =B2:B5 & "-" & A2:A5 と入れて Shift+Ctrl+Enterの3つのキーを同時押しする。 結果 D2:D5 に b1-a1 b2-a2 b3-a3 b4-a4 逆転して区切り文字ーが入った。 このように複数セルにそれぞれの値を返す式は、配列数式にしないとならない。 これは、エクセルの大原則です。 ーー しかしF2セルに、 =B2 & "-" & A2  と入れて、F2の式をF6まで式複写するなら 普通のやり方で、結果はF列で、D列と同じになる。 === エクセル2016からTEXTJOIN関数が追加された。 Googleスプレッドシートでは、もともとこの関数はあるようだ。  では、エクセルでもGoogleSpreadでも,配列的な考えは必要なくなったのか。 そうではないだろう。ArrayFotmulaを被せて使う点では、「Shift+Ctrl+Enterの3つのキーを同時押しする」とは、形は異なっているが、普通の関数(1セルに1値を返す)とは、区別が必要だという点には変わりない。 ーーー >エクセルでは出来る(現時点で、質問者の言う) は本当か? 上記のことを理解してやっている、と思えない。 勿論、2016以後でエクセルでも、=TEXTJOIN("-",TRUE,"あ","い",B2:D2)のような式(式を入れたセルだけに値を返す。使うセルの値も同行他列のデータ)をいれて、式を下方向きに複写するやり方なら、従来の考えと何も変わりがない。 本質問では、式も書かずに質問している(関数式の質問のはずなのに、質問として、おかしい)が,画像から推測して、A$3:A$6 のように複数セルを対象にして関数式をいれ、結果も複数セルの値を1つの式で得ることを、目論んだものと思う。その場合はArrayFormulaを被せる必要があるはず。 参考 https://aitrigger.co.jp/blog/efficient/arrayformula_useful_function/ Arrayformula関数とは?スプレッドシートで実際の使い方を解説! エクセルでは VBAでは FormulaArray があるが、まだ(2021、365では)増やされてないようだ。

t16440803
質問者

補足

時間を使ってくださり御礼申し上げます。 「エクセル(関数)では出来る」で良いのでは。なぜわざわざ「アプリ」を入れるのか。 の疑問ですが、ipadのエクセルではこの式で問題なくできます。スピルとかいろいろ付け加えられ、提示した式でもできるようになったのだと思います。 職場のパソコンで使えるのがgoogleスプレッドシートなのです。 調べてみると空白だと(trueを入れないと) エクセルでは,true判断 googleでは、false判断 のようです。いろいろ相違があることも分かりました。 配列的な考えは必要なくなったのか。の問いですが、 ipadのエクセルではそのようです。特に配列を意識せずに使えるようになりました。完全にvlookupの上位互換です。 私は配列をあんまり理解していないです。 どうやらipadのエクセルから入ったからそうなったのです。 たしかに、式は入れておくとコピペできてよかったですね。画像で済ませてしまいました。

関連するQ&A

専門家に質問してみよう