Excelでマイナー”m”を判定!IF,AND,ORの使い方 (dur編)

Excelでマイナー"m"を判定!IF,AND,ORの使い方 (dur編) Excel

Excelが「マイナー」を見抜く瞬間 AND、OR、IFで和音の性質を正確に判定せよ!

山本式和音番号の構築プロジェクトも、いよいよシステムの心臓部である数式の実装、その核心へと迫ります。

↓↓↓最初の記事です。まだの方は是非↓↓↓

前回の記事では、R列に「M」(メジャーセブン)を表示させるための、精緻な論理構造を解き明かしました。

↓↓↓前回の記事です↓↓↓

和音変換システムの「表現力」を拡張する

S列の「m」が示す和音の性質

さて、今回はDB_山本式和音シートの S列 に、 “m“(マイナー) の記号を表示させるためのロジックに焦点を当てます。

Excelの画面

この”m“は、DmAm7、あるいはBm7(♭5)のように、和音の響きを特徴づける上で、メジャーと並ぶ非常に重要な記号です。

長調(dur)の体系の中には、ダイアトニックコードとして登場する基本的なマイナーコードだけでなく、借用和音や、根音省略によって性質が変化した結果、マイナーとして扱われる特殊な和音も存在します。

今回のテーマは、これら 多様な「マイナーになる条件」を、いかにして一つの数式で正確に、かつ網羅的に判定するか 、ということです。

その主役は、前回に引き続き、ANDORIFというExcelの基本的な論理関数です。

これらの関数を組み合わせることで、驚くほど複雑な条件を体系的に表現できることを、今回も証明していきましょう。

STEP1:論理演算の基本を理解する AND関数とOR関数を再確認

複雑な数式の構造を理解するため、まずはその構成部品であるAND関数とOR関数の基本的な性能について、改めて確認しておきます。

AND(条件1, 条件2, …):すべての条件が真の時にのみ真を返す

まず、AND関数は、複数の条件を引数として受け取り、 「すべての条件がTRUE(真)の場合にのみ、結果としてTRUEを返す」 という性質を持っています。

一つでもFALSE(偽)の条件があれば、結果はFALSEとなります。

これは、Excelで「A、かつ、B、かつ、C…」という、複数の事象が同時に成立しているかを厳密に判定する際に不可欠な関数です。

AND関数の説明

OR(条件1, 条件2, …):いずれかの条件が真の時にのみ真を返す

次に、OR関数も同様に複数の条件を引数としますが、こちらは 「いずれか一つでも条件がTRUE(真)であれば、結果としてTRUEを返す」 という性質です。

すべての条件がFALSE(偽)の場合にのみ、結果はFALSEとなります。

これは、Excelで「A、または、B、または、C…」という、複数の選択肢のうち、いずれか一つでも合致するかを判定する際に用います。

OR関数の説明

STEP2:IF関数で条件分岐を制御する

ANDORが条件を評価する関数であるのに対し、その評価結果に基づいて、具体的な処理を分岐させるのがIF関数です。

IF(条件, 真の場合, 偽の場合):条件分岐の要

IF関数は、「 指定した条件がTRUE(真)であれば『真の場合』の値を、FALSE(偽)であれば『偽の場合』の値を返す 」という、Excelにおける条件分岐の基本です。

今回の数式では、このIF関数が全体の骨格となり、後ほど解説するANDORを組み合わせた複雑な条件式の結果を受け取り、最終的に”m“を表示するか、””(空白)を表示するかを決定します。

STEP3:”m”を表示させるロジック

基本関数の役割を理解したところで、いよいよ今回の主役である、S列の数式を徹底的に解剖していきます。

この一つの数式に、和音がマイナーとなるための、実に4つもの異なる論理パターンが凝縮されています。

複雑な条件をANDとORでシンプルに記述する

S列(mフラグ)に記述する数式全体

まず、DB_山本式和音シートの S2セル に、以下の数式を入力します。

=IF(OR(AND(OR(F2=2,F2=3,F2=6),J2=“”,L2=“”),AND(F2=4,J2<>“”,L2=“”),AND(F2=2,G2>0,J2<>“”,L2=“”),AND(G2=9,H2>=1,I2=8,J2=“”,L2=“”)),m,“”)

この数式が、私たちが定義した長調における全ての和音パターンを網羅し、”m“を表示すべきかどうかを正確に判定します。

Excelでの挙動

OR関数の外枠:四つの主要条件グループ

この数式のIF関数の中身(論理式)は、全体が大きなOR関数で構成されています。

これは、”m“が表示される条件が、大きく分けて 4つの異なるパターン(条件グループ1〜4) に分類できることを意味します。

この4つのうち、いずれか一つでも条件を満たせば、”m”が表示される、という構造です。

  1. AND(OR(F2=2,F2=3,F2=6),J2=“”,L2=“”)
  2. AND(F2=4,J2<>“”,L2=“”)
  3. AND(F2=2,G2>0,J2<>“”,L2=“”)
  4. AND(G2=9,H2>=1,I2=8,J2=“”,L2=“”)

それでは、各条件グループを詳細に見ていきましょう。

条件グループ1:AND(OR(F2=2,F2=3,F2=6),J2=””,L2=””)

最初のANDグループは、 「長調における基本的なダイアトニック・マイナーコード」 を特定するための条件式です。

OR(F2=2,F2=3,F2=6) : [度]列であるF2セルが2 (II度)、3 (III度)、6 (VI度) のいずれかであることを判定します。

長調において、これらの度数上の三和音は、短三和音(マイナー)の性質を持つためです。(例: C durのIIはDm、IIIはEm、VIはAm)。

短三和音(マイナー)の説明楽譜

J2=”” : [借用]列であるJ2セルが空白であること。借用和音ではない、純粋なダイアトニックコードであることを示します。

L2=”” : [その他]列であるL2セルが空白であること。特殊和音記号(n, gなど)ではないことを示します。

条件グループ2:AND(F2=4,J2<>””,L2=””)

2番目のANDグループは、 「借用和音として現れるIV度のマイナーコード」 という、特定のケースを捉えるための条件式です。

F2=4 : [度]列が4 (IV度) であることを判定します。

J2<>”” : [借用]列が空白ではないこと、つまり借用和音フラグ0が入力されていることを判定します。

長調IV度は通常メジャーコード(例: C durのF)ですが、同主短調から機能を借用するとマイナーコード(例: C durにおけるFm)となります。この場合に”m“を付与するための条件です。

借用和音の楽譜

※山本式和音番号では長調において借用和音のⅠ・Ⅲ・Ⅴは扱いません。

L2=”” : [その他]列が空白であることを判定します。

Excelでの挙動

条件グループ3:AND(F2=2,G2>0,J2<>””,L2=””)

3番目のANDグループは、 「借用和音として現れるII度のセブンスコードなど」 を特定するための条件式です。

F2=2 : [度]列が2 (II度) であること。

G2>0 : [7/9]列に7または9が入力されており、テンションを持つ和音であることを判定します。

J2<>”” : [借用]列が空白ではないこと、つまり借用和音であることを判定します。

例えば、C durにおけるII度7の借用和音は、Dm7(♭5)となります。

このコードネームには「m」が含まれるため、この条件で”m“を付与する必要があるのです。

L2=”” : [その他]列が空白であることを判定します。

7thの借用和音の楽譜

Fm7は、条件グループ2AND(F2=4,J2<>“”,L2=“”)で表示されます。

条件グループ4:AND(G2=9,H2>=1,I2=8,J2=””,L2=””)

最後のANDグループは、 「根音省略された9thコードが、結果的にマイナーの性質を持つ」 という、非常に特殊なケースを捉えるための条件式です。

G2=9 : [7/9]列が9 (9th) であること。

H2>=1 : [転]列が1以上、つまり転回形であること。

J2=”” : [借用]列が空白であること。

L2=”” : [その他]列が空白であること。

これは、例えばC durにおけるG9(V9)の根音を省略し(I2=8)、さらに転回させた(H2>=1)場合、その構成音はH D F Aとなり、実質的にBm7(♭5)(Bマイナー7フラット5)として解釈される、という山本式和音番号のルールを反映しています。

根音省略の楽譜

この結果生まれる和音に”m“を付与するための条件指定です。

Excelでの説明画像

まとめ:複雑な条件分岐も自由自在

今回の記事では、ANDORIFという基本的な論理関数を組み合わせるだけで、”m“(マイナー)という記号を表示させるための、これほどまでに複雑な条件分岐を、いかにして一つの数式で正確に記述できるかを学びました。

たった一文字の”m“を表示させるために、和音の度数テンション根音省略借用和音といった複数の要素が、数式の中でどのように連携し、評価されるのか、その精緻なロジックを解き明かしました。

一見すると複雑な数式も、一つ一つの要素を丁寧に分解していけば、その背後にある論理と、山本式和音番号の哲学が見えてきます。

さて、次回の記事では、いよいよ、これまで導出してきたルート音(Q列)や、”M“(R列)、”m“(S列)といった各フラグを基に、 具体的なコードネームの残りの部分(dim, aug, 7, 9など)を組み立てていきます。

さらに多くの数式が登場しますが、今回の学びがあれば必ず乗り越えられるはずです。

お楽しみに!

<続く>

タイトルとURLをコピーしました