Excel (エクセル) 学習室 / KENZO30


エクセル 数式・計算 3

One Point編トップへ

Excel(エクセル)学習室 HOME

   数式・計算 No 3  

                    One Point

   Q8:&(アンパサンド)の使い方

 

 

Q8
&(アンパサンド)の使い方

A8
ご存知の通り&(アンパサンド)は文字列演算子です。文字列を結合するとき使います。
One Point編の数式・計算No1(Q4)では基本的な使い方を紹介しました。ここでは数式の中に使う方法などを取り上げます。

 

(1)関数と結合して利用

たとえば、A1に100、B1に200として、SUMで合計すると「=SUM(A1:B1)」となり、300が求められます。この式に、& を使い下図のように 文字を結合して「="大山さんの合計"&SUM(A1:B1)」とすることができます。


また、左図下の例のように、文字は関数式の後に入れることもできます。
="大山さんの合計"&SUM(A3:B3)&"です"

(画像:Win XP&Excel2000)

さらに、D1に「大山」の名前が入力されていれば、「=D1&"さんの合計"&SUM(A1:B1)」としてセル参照と合わせることもできます。
なお、300と文字の間にスペースを入れるには、式内の「"」と文字の間にスペースを入れます。

(2)IF関数の引数で利用

IF関数に入れる例です。


A1に犬山、B1に正義、D1に犬山正義が入力されているとして、A1とB1の結合がD1と同じかどうか検証する例です。

(画像:Win XP&Excel2000)

上図のとおり「=IF(A1&B1=D1,"正解","不正解")」 のように使うことができます。論理式の中に「&」を使っています。
上図の下の例は、A3に犬山、D3に100万円が入力されているとして、A3が犬山であれば「犬山正義の売上100万円」と表示させる例です。
=IF(A3="犬山","犬山正義の売上"&D3,"")」 のように使うことができます。真の場合の処理に「&」を使っています。

(3)日付や時刻での利用

&(アンパサンド)は、文字列を簡単に結合してくれますので重宝です。しかし、日付や時刻などとの結合には注意が必要です。


たとえば、A1に「きょうは」B1に「11月17日」が入力されているとして、A1&B1で、「きょうは11月17日」とは表示されません。

(画像:Win XP&Excel2000)

上図のように「きょうは37942」と日付がシリアル値で表示されてしまいます。
日付や時刻を&(アンパサンド)で繋ぐには、もう一工夫必要です。それは、TEXT関数を使うことす。TEXT関数でシリアル値を日付の表示形式に変換する必要があるのです。
すなはち、上図のとおり「=A1&TEXT(B1,"m月d日")」とする必要があります。これで「きょうは11月17日」と表示されるようになります。ちょっと面倒ですが日付や時刻を扱う場合は注意してください。 

(4)配列数式での利用

&(アンパサンド)は、配列数式でも使うことができます。たぶん実用上使うことはないでしょうが(笑)
A1からA4に準じ犬山、古田、下山、大下とあり、B1からB4に正義、権一、昌江、妙子と入力されているとします。これを&(アンパサンド)でC列へ結合する場合、通常はC1へ「=A1&B1」とし、C2以降はオートフィルで簡単に結合させることができます。


では配列数式ではどうでしょうか?&(アンパサンド)も演算子なので次の手順で使うことができます。

(画像:Win XP&Excel2000)

まず、C1からC4を選択し、そのまま「=」を入力します。次に「A1:A4」を選択し、「&」を入力して「B1:B4」を選択します。そして最後に、Shift+Ctrlボタンを押したままEnterキーを押して確定します。これで数式バーには、「{=A1:A4&B1:B4}」の式が表示され、A列とB列の結合ができているはずです。
{ }で囲まれた数式が配列数式です。
結合の苗字と名前の間を空けることも可能です。「{=A1:A4&" "&B1:B4}」の式の「" "」の間を空ければスペースをコントロールできます。

このようにして入力した配列数式の削除や修正は、部分的に行うことができません。必ず、式の範囲を選択し(ここでは、C1からC4を選択)て行います。注意してください。修正後も必ずShift+Ctrl+Enterキーで確定します。

(5)&(アンパサンド)の注意点

これまで説明したようにアンパサンドを使えば、書式記号を使った表示形式と似た表示ができますが、あくまで文字列扱いになるという事です。たとえば、A1に500が入力されていて、B1に「=A1&"円"」とすると、500円となりますが、これを元に計算させることはできません。あくまで文字列であって計算の対象になりません。
これに対しユーザー定義の表示形式で「#,##0"円"」と設定し、500円とした場合は計算対象になります。
違いを理解しましょう。
&(アンパサンド)は非常に便利な演算子ですが、このように使い方に制限があります。注意してください。

アンパサンドと同じ機能をもつ関数がありますので紹介しておきます。それは、文字列操作関数の「CONCATENATE」です。書式で表すとCONCATENATE (文字列1, 文字列2, ...)となります。

PR> ポイントが無料で貯まる!マイポイント

   先頭へ戻る   

One Point編トップへ


KENZO30  内容の無断転載は、禁止しています