- 締切済み
concatenate関数と&の違いは??
お世話になります。 セルを結合するとき、concatenate関数を使った場合と「&」を遣った場合の違いって何なんでしょうか? いつも&で事足りるので、concatenateの存在が気になります。 どなたかご教授下さい。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- imogasi
- ベストアンサー率27% (4737/17069)
&は文字列結合の「演算子」で、Concatenateはエクセル関数です。 旧MS系BasicやVBなどは結合に&(他のBasicなどで+を用いるのもあり、今でも使える)を使っていたことから流れこんだのかと思います。 Sub test01() a = "東京" b = "国立市" MsgBox a + b MsgBox a & b End Sub どちらも東京都国立市です。 MsgBox Application.WorksheetFunction.concatenate(a, b) は使えないようです。 ロータス123は近縁のBasicなどが無かったためか、英米人にわかる言葉の意味的な方をとってConcatenate関数を作ったのでしょうか。 引数のある関数の形のものを作ったのでしょう。関数名(y、z)のようなもの。 Concatenate関数は引数が30個までのようです。 後は余り差がなく、表現が短い&のほうを愛用してます。 それで困ったことはありません。 VBなどでは、似たようなことで、Join関数という言葉が使われだしています。
- Wendy02
- ベストアンサー率57% (3570/6232)
こんばんは。 私に知っている範囲では、CONCATENATE は必要ないと思います。 長い単語で、わざわざ使いづらくしているのだと思います。通常、使うために作られたのではなくて、Lotus1-2-3 との互換性のために作られた関数で、Excelでは、「&」でつなげば、それで用が足りるはずですね。 × =CONCATENATE(A1:C1) このような使い方が出来ないのですから、あまり意味はありません。 もともと、ワークシートで有効に使わせるつもりだったら、「JOIN」や「CHAIN(実在しない)」になるはずだと思います。しかし、JOIN関数は、VBAにはありますが、ワークシート側にはありません。
- mu2011
- ベストアンサー率38% (1910/4994)
違いはありません。 文字列結合を配列したい場合に使用した事があります。 使用例 =INDEX(C:C,SUMPRODUCT(("AB"=CONCATENATE(A1:A5,B1:B5))*ROW(A1:A5)))
お礼
お返事おそくなりまして、すみません。 高度な方法を教えてくださりありがとうございました。
配列とかセル範囲を、一撃必殺でくっつけるときにconcatinateは役立ちますよ。 sum()と+の違いみたいなもの?
お礼
あ、ナルホド。 ありがとうございました。
お礼
お返事遅くなりまして、すみません。 確かに範囲してはできませんね。ありがとうございました。