| 「One Point編トップへ」 | |
| 数式・計算 No 3 |
One Point |
| Q8:&(アンパサンド)の使い方 | |
|
|
Q8
|
|
|
|
(画像:Win XP&Excel2000)
さらに、D1に「大山」の名前が入力されていれば、「=D1&"さんの合計"&SUM(A1:B1)」としてセル参照と合わせることもできます。
なお、300と文字の間にスペースを入れるには、式内の「"」と文字の間にスペースを入れます。
IF関数に入れる例です。
|
|
|
(画像:Win XP&Excel2000)
上図のとおり「=IF(A1&B1=D1,"正解","不正解")」 のように使うことができます。論理式の中に「&」を使っています。
上図の下の例は、A3に犬山、D3に100万円が入力されているとして、A3が犬山であれば「犬山正義の売上100万円」と表示させる例です。
「=IF(A3="犬山","犬山正義の売上"&D3,"")」 のように使うことができます。真の場合の処理に「&」を使っています。
&(アンパサンド)は、文字列を簡単に結合してくれますので重宝です。しかし、日付や時刻などとの結合には注意が必要です。
|
|
|
(画像:Win XP&Excel2000)
上図のように「きょうは37942」と日付がシリアル値で表示されてしまいます。
日付や時刻を&(アンパサンド)で繋ぐには、もう一工夫必要です。それは、TEXT関数を使うことす。TEXT関数でシリアル値を日付の表示形式に変換する必要があるのです。
すなはち、上図のとおり「=A1&TEXT(B1,"m月d日")」とする必要があります。これで「きょうは11月17日」と表示されるようになります。ちょっと面倒ですが日付や時刻を扱う場合は注意してください。
&(アンパサンド)は、配列数式でも使うことができます。たぶん実用上使うことはないでしょうが(笑)
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キーで確定します。
これまで説明したようにアンパサンドを使えば、書式記号を使った表示形式と似た表示ができますが、あくまで文字列扱いになるという事です。たとえば、A1に500が入力されていて、B1に「=A1&"円"」とすると、500円となりますが、これを元に計算させることはできません。あくまで文字列であって計算の対象になりません。
これに対しユーザー定義の表示形式で「#,##0"円"」と設定し、500円とした場合は計算対象になります。
違いを理解しましょう。
&(アンパサンド)は非常に便利な演算子ですが、このように使い方に制限があります。注意してください。
※アンパサンドと同じ機能をもつ関数がありますので紹介しておきます。それは、文字列操作関数の「CONCATENATE」です。書式で表すとCONCATENATE (文字列1, 文字列2, ...)となります。