過去ログ

                                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つまで?)ですよね。
それ以上の条件付けをしたい場合はどうすればいいのでしょうか?
 ───────────────────────────────────────  ■題名 : Re:IF関数について  ■名前 : Jaka  ■日付 : 03/2/19(水) 15:41  -------------------------------------------------------------------------
   ▼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
 ───────────────────────────────────────  ■題名 : Re:IF関数について  ■名前 : hana  ■日付 : 03/2/19(水) 16:22  -------------------------------------------------------------------------
   ありがとうございます。
聞きたかったことは、エクセルのIF関数のことだったんですが、
VBAはまだ使えないので、ちょっとチャレンジしてみようかとも思います。
 ───────────────────────────────────────  ■題名 : Re:IF関数について  ■名前 : Jaka  ■日付 : 03/2/19(水) 17:13  -------------------------------------------------------------------------
   ▼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),""))))
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━    通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━                                 Page 767