| 
    
     |  | ▼ponpon さん: 回答ありがとうございます。
 私の挙げた例が良くなかったようです。
 実際は、A1、C1、E1・・・という風に一つ飛ばしのセルの値を合計したいので、SUM関数は使ってません。FOR文で一つ飛ばしに値を取得して、変数に蓄積させています。
 具体的に書くと、こうです。
 (例)
 Sub test()
 Dim i  As Integer  'loop counter
 Dim sum As Integer  'sum
 
 For i = 1 to 5
 sum = sum + Sheets("XXX").Cells( 1, ( i - 1 ) * 2 + 1 ).Value
 Next
 End sub
 
 XXXシートのA1、C1、E1、G1、I1にはIF関数が書かれており、例えばB1が100以上ならA1に2を出力し、B1が100未満ならA1に1を出力します。また、B1が空白の場合は、A1を空白のままになるようにIF関数を書きます。
 (例.A1のセル)
 =IF(B1="","",IF(B1>=100,2,1))
 
 同様にC1はD1に、E1はF1に、G1はH1に、I1はJ1に対応します。
 (例.C1のセル)
 =IF(D1="","",IF(D1>=100,2,1))
 (例.E1のセル)
 =IF(F1="","",IF(F1>=100,2,1))
 (例.G1のセル)
 =IF(H1="","",IF(H1>=100,2,1))
 (例.I1のセル)
 =IF(J1="","",IF(J1>=100,2,1))
 
 すると、100以上や100未満で2とか1とか出力される場合は良いのですが、空白になった場合に、合計する処理にてエラーになります。
 
 要求仕様的にフォーマットを変えることができないのですが、SUM関数を使える方法が浮かんだので、それで試してみます。
 
 
 |  |