
エクセルバージョン
マイクロソフト365
本日はいろいろな演算子をご紹介していきたいと思います。
基本となる足し算や引き算からちょっと変わった演算子など、いろいろありますのでこの機会に参考程度に頭の片隅にでもいれておいてくださいね~(^^)
それではいってみましょう!
Menu
演算子の種類
・比較演算子
・論理演算子
・連結演算子
・代入演算子
・参照演算子
・Like演算子
など
算術演算子
算術演算子は、加算、減算、乗算、除算などの基本的な計算を実行できます。
| 算術演算子 | 詳細 | 使用例 | 計算結果 |
| + (プラス) | 足し算 | 1 + 1 | 2 |
| – (マイナス) | 引き算 | 1 – 1 | 0 |
| * (アスタリスク) | 掛け算 | 1 * 1 | 1 |
| / (スラッシュ) | 割り算 | 3 / 2 | 1.5 |
| ¥(バックスラッシュ) | 割り算 ・割り算する二つの数値の小数点以下を四捨五入してから計算します。 ・計算結果の小数点以下は切り捨てます。 | 3 \ 2 3.5 \ 2 3.4 \ 2 | 1 2 1 |
| Mod | 割り算の余り | 3 Mod 2 | 1 |
| ^ (キャレット) | べき乗 | 3 ^ 3 | 27 |
算術演算子の計算の順番
普通の計算と一緒で、()を付けた算術演算子から計算され、個々の算術演算子は下記の順番で計算されます。
1 べき乗(^)
2 かけ算(*)
3 割り算(/)
4 割り算(¥)
5 割り算の余り(mod)
6 足し算(+)
7 引き算(-)
VBA算術演算子サンプル
下記のコードを標準モジュールにコピペしたら実行できます!
【足し算】
1 2 3 4 5 6 7 | Sub 足し算() Dim total As Integer total = 1 + 1 MsgBox total '結果2 End Sub |
【カッコが優先の計算】
1 2 3 4 5 6 7 | Sub カッコ優先() Dim total As Integer total = 2 * (1 + 1) MsgBox total '結果4 End Sub |
比較演算子
・2つの値の比較ができます。
・結果としてTRUEまたはFALSEの論理値が取得できます。
| 比較演算子 | 意味 |
| = (等号) | 等しい |
| > (大なり) | より大きい |
| < (小なり) | より小さい |
| >= (以上) | 以上 |
| <= (以下) | 以下 |
| <> (不等号) | 等しくない |
VBA比較演算子サンプル
【Trueとなる結果】
1と1は等しいので → True
1 2 3 | Sub 比較演算子True() MsgBox 1 = 1 '結果 → True End Sub |
【Falseとなる結果】
牛丼と豚丼は等しくないので → False
1 2 3 | Sub 比較演算子False() MsgBox "牛丼" = "豚丼" '結果→False End Sub |
連結演算子
アンパサンド (&)を使用して複数の文字を結合して、1つの文字列にできます。
VBA連結演算子サンプル
【数字の場合】
1 2 3 | Sub 文字連結演算子_数字() MsgBox 123 & 456 '結果 → 123456 End Sub |
【文字の場合】
” ” ← ダブルクオーテーションで文字の場合は囲います。
1 2 3 | Sub 文字連結演算子_文字() MsgBox "あいう" & "えお" '結果 → あいうえお End Sub |
【セルと文字の場合】

1 2 3 | Sub 文字連結演算子_セルと文字() MsgBox Range("A1") & "と" & Range("B1") '結果 → 大トロと中トロ End Sub |
代入演算子
代入演算子は変数などに使用する際に使用されます。
下記のように左辺に右辺を代入します。
変数 = 値
※算術演算子の=(等号)等しいとは違います。
代入演算子サンプル
変数xにtestという文字を代入。
1 2 3 4 5 6 7 8 9 10 11 | Sub 左辺に右辺を代入() '変数宣言 Dim x As String '左辺(x)に右辺(test)を代入 x = "test" '変数xをメッセージボックスに表示 MsgBox x '結果→ test End Sub |
論理演算子
| 論理演算子 | 名称 | 詳細(Trueの条件) | サンプル例 | ||
| 値1 | 値2 | 結果 | |||
| And | 論理積 (値1かつ値2) | 値が全て一致した場合 | 一致 | 一致 | TRUE |
| 一致 | 不一致 | FALSE | |||
| 不一致 | 一致 | FALSE | |||
| 不一致 | 不一致 | FALSE | |||
| Or | 論理和 (値1もしくは値2) | 値が1つでも一致した場合 | 一致 | 一致 | TRUE |
| 一致 | 不一致 | TRUE | |||
| 不一致 | 一致 | TRUE | |||
| 不一致 | 不一致 | FALSE | |||
| Not | 論理否定 ~ではない | 値が一致しなかった場合 | |||
| Xor | 排他的論理和 | 値のどちらか1つ一致した場合 (orと違って全て一致は → False) | 一致 | 一致 | FALSE |
| 一致 | 不一致 | TRUE | |||
| 不一致 | 一致 | TRUE | |||
| 不一致 | 不一致 | FALSE | |||
| Eqv | 論理等価演算 | 値が全て一致か不一致の場合 | 一致 | 一致 | TRUE |
| 一致 | 不一致 | FALSE | |||
| 不一致 | 一致 | FALSE | |||
| 不一致 | 不一致 | TRUE | |||
VBA論理演算子サンプル
【Andの場合】
変数の値が全て一致でTrue
1 2 3 4 5 6 7 8 9 10 11 12 | Sub And_Test() '変数 Dim str1, str2 As String '変数に値を代入 str1 = "牛丼" str2 = "豚丼" 'メッセージボックスに結果を表示 MsgBox str1 = "牛丼" And str2 = "豚丼" '結果 → 'True End Sub |
【Orの場合】
変数の値が1つでも一致でTrue
1 2 3 4 5 6 7 8 9 10 11 12 | Sub Or_Test() '変数 Dim str1, str2 As String '変数に値を代入 str1 = "牛丼" str2 = "豚丼" 'メッセージボックスに結果を表示 MsgBox str1 = "牛丼" Or str2 = "かつ丼" '結果 → 'True End Sub |
【Notの場合】
変数の値が不一致でTrue
1 2 3 4 5 6 7 8 9 10 11 | Sub Not_Test() '変数 Dim str As String '変数に値を代入 str = "牛丼" 'メッセージボックスに結果を表示 MsgBox Not str = "豚丼" '結果 → 'True End Sub |
【IFステートメントで応用】
IFとAnd演算子を使用した例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | Sub IFで応用() '変数宣言 Dim food1, food2 As String '変数に値を代入 food1 = "まぐろ" food2 = "いくら" 'ifで条件が一致(True)の時にメッセージボックスを表示させる If food1 = "まぐろ" And food2 = "いくら" Then MsgBox "寿司です" '結果 → 寿司です End If End Sub |
参照演算子
| 参照演算子 | 詳細 | 使用例 |
| : (コロン) | コロンでセル範囲指定 | Range(“A1:C5”) |
| , (カンマ) | セルをカンマで区切る。 | Range(“A1,A3,B2,C1,C3”) |
| (スペース) | 共通部分を示す参照演算子。 2つのセル範囲の交差する1つのセル参照を作成。 | Range(“A2:C2 B1:B3”) |
参照演算子サンプル
【コロンの例】
コロンで指定した範囲を選択する例
1 2 3 4 | Sub コロンtest() 'A1~A5セルを選択 Range("A1:A5").Select End Sub |

【カンマの例】
カンマで区切ったセルを赤で塗りつぶす例
1 2 3 4 | Sub カンマtest() '背景色を赤に塗りつぶす Range("A1,A3,B2,C1,C3").Interior.ColorIndex = 3 End Sub |

【スペースの例】
二つのセル範囲の交差するセルに書き込む
1 2 3 4 | Sub スペースtest() '二つの範囲の交差するセル Range("A2:C2 B1:B3") = "交差セル" End Sub |

Like演算子
Like演算子の解説はコチラ
まとめ
いつも何気なく使用している範囲選択のコロンとかカンマなどは参照演算子って言うんですね~
以上です。
