0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Excel VBAユーザーのためのC#構文入門:三項演算子の魅力と注意点

Last updated at Posted at 2025-10-20

Excel VBAユーザーのためのC#構文入門:三項演算子の魅力と注意点

1. 三項演算子とは?

C#には、条件分岐を1行で書ける「三項演算子(?:)」という構文があります。
これは、VBAには存在しないため、初めて見ると戸惑う方も多いです。

書式

条件式 ? 条件がtrueのときの値 : 条件がfalseのときの値

例:偶数・奇数の判定

int a = 3, b = 4;
Console.WriteLine((a * b) % 2 == 0 ? "Even" : "Odd");
  • (a * b) % 2 == 0true なら "Even"、そうでなければ "Odd" を表示します。
  • if–else よりもコンパクトに書けるのが特徴です。

2. VBAとの違いと注意点

VBAには三項演算子がないため、同じ処理は必ず If...Then...Else で書く必要があります。

VBAでの同等処理

Dim a As Integer, b As Integer
a = 3: b = 4

If (a * b) Mod 2 = 0 Then
    Debug.Print "Even"
Else
    Debug.Print "Odd"
End If
比較項目 VBA C#
条件分岐 If...Then...Else 条件式 ? 真の場合 : 偽の場合
書き方 複数行で記述 1行で記述可能
可読性 明示的でわかりやすいが冗長 慣れると簡潔で読みやすい
ネスト構造 ElseIfで分岐を追加 三項演算子のネストは可読性に注意

3. よくある混乱ポイントと使い分け

構文 意味 よくある混乱
?:(三項演算子) 条件による値選択 if–elseと違って「値を返す」ことに注意
if–else 条件分岐 複雑な処理や副作用がある場合はこちらが適切
Console.WriteLine() 出力 三項演算子と組み合わせると1行で判定+出力が可能

三項演算子のネスト例(可読性に注意)

string result = score >= 80 ? "A" :
                score >= 60 ? "B" :
                score >= 40 ? "C" : "D";
  • 条件が増えると読みづらくなるため、必要に応じて if–else に切り替えるのがベターです。

ミニコーナー:ABC086AをC#で三項演算子で解いてみよう

問題概要

2つの整数 A, B が与えられる。
A × B が偶数なら "Even"、奇数なら "Odd" を出力せよ。

C#コード例(1行で完結)

using System;

class Program
{
    static void Main()
    {
        string[] input = Console.ReadLine().Split();
        int A = int.Parse(input[0]);
        int B = int.Parse(input[1]);

        Console.WriteLine((A * B) % 2 == 0 ? "Even" : "Odd");
    }
}

使用されている構文の復習

  • Split():空白区切りで複数の値を取得
  • int.Parse():文字列を整数に変換
  • ?::条件に応じて "Even" または "Odd" を選択
  • Console.WriteLine():結果を出力

おわりに

三項演算子は、「値を選ぶ」ための条件分岐として非常に便利です。
VBAユーザーにとっては新鮮な構文ですが、慣れると設計の幅が広がります。

今後も、VBAとC#の構文比較シリーズとして、Forループ、配列操作例外処理なども取り上げていく予定です。
興味があればぜひフォローしてください!


0
1
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?