Page 767 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 通常モードに戻る ┃ INDEX ┃ ≪前へ │ 次へ≫ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ▼IF関数について hana 03/2/19(水) 14:41 ┗Re:IF関数について Jaka 03/2/19(水) 15:41 ┗Re:IF関数について hana 03/2/19(水) 16:22 ┗Re:IF関数について Jaka 03/2/19(水) 17:13 ─────────────────────────────────────── ■題名 : IF関数について ■名前 : hana ■日付 : 03/2/19(水) 14:41 -------------------------------------------------------------------------
IF関数について質問です。 IFの条件付けが7つまで(ネストが7つまで?)ですよね。 それ以上の条件付けをしたい場合はどうすればいいのでしょうか? |
▼hana さん: >IF関数について質問です。 >IFの条件付けが7つまで(ネストが7つまで?)ですよね。 >それ以上の条件付けをしたい場合はどうすればいいのでしょうか? こんにちは。 エクセル関数の事でしょうか? そうそうなら、ネストは7つまでです。ヘルプに書いてあります。(XPは???。) もう少し具体的に書いてくださると、物によっては対応作が見つかると思います。 それともVBA? 取りあえずエラーにはなりません。 Sub ネスト9() If Range("A34").Value <> 9 Then If Range("A34").Value <> 8 Then If Range("A34").Value <> 7 Then If Range("A34").Value <> 6 Then If Range("A34").Value <> 5 Then If Range("A34").Value <> 4 Then If Range("A34").Value <> 3 Then If Range("A34").Value <> 2 Then If Range("A34").Value = 1 Then MsgBox Range("A34").Value Else MsgBox "エラー" End If End If End If End If End If End If End If End If End If End Sub |
ありがとうございます。 聞きたかったことは、エクセルのIF関数のことだったんですが、 VBAはまだ使えないので、ちょっとチャレンジしてみようかとも思います。 |
▼hana さん: >聞きたかったことは、エクセルのIF関数のことだったんですが、 >VBAはまだ使えないので、ちょっとチャレンジしてみようかとも思います。 えっと、 物によっては、エクセルのIF関数でネストをうまく分けて、数十種類の比較ができると言う事だったんですけど....。 例えば100を半分にづつ分け、そのまた半分づつに分け、そのまた半分づつに分けというような感じにする方法と、関数が長くなりますがAnd、Orを使って分けていく方法などもあります。 具長ですが、こんな感じにも出来ます。 (このサイト下記関数を一行でアップできないので途中で改行してあります。) =IF(OR(AND(CODE(B311)>=9516,CODE(B311)<=9538),AND(CODE(B311)>=9551, CODE(B311)<=9552),AND(CODE(B311)>=9557,CODE(B311)<=9558), AND(CODE(B311)>=9563,CODE(B311)<=9564)),IF(MOD(CODE(B311),2)=0, IF(ISERROR(MATCH(CHAR(CODE(B311)-1),$A$3:$A310,0)),CHAR(CODE(B311)-1),""), IF(ISERROR(MATCH(LEFT(B311,1),$A$3:$A310,0)),LEFT(B311,1),"")), IF(OR(CODE(B311)=9541,CODE(B311)=9543,CODE(B311)=9545,CODE(B311)=9555, CODE(B311)=9561),IF(ISERROR(MATCH(CHAR(CODE(B311)-1),$A$3:$A310,0)), CHAR(CODE(B311)-1),""),IF(OR(CODE(B311)=9553,CODE(B311)=9556, CODE(B311)=9559,CODE(B311)=9562,CODE(B311)=9565),IF(ISERROR(MATCH(CHAR(CODE(B311)-2),$A$3:$A310,0)),CHAR(CODE(B311)-2),""), IF(ISERROR(MATCH(LEFT(B311,1),$A$3:$A310,0)),LEFT(B311,1),"")))) |