『ある条件時に決まった値を表示させたい』(れんこん)
初めまして、れんこんと申します。どのような関数にしたらいいのか分かりません。お教えいただけますと助かります。
以下の表があります。
A列がなしでB列がなしの場合は結果のところに0.385と表示させたいです。
A列がなしでB列がありの場合は結果のところに0.395と表示させたいです。
A列がありでB列がなしの場合は結果のところに0.395と表示させたいです。
A列がありでB列がありの場合は結果のところに0.415と表示させたいです。
どのような条件式にいたら以上のことが出来るのでしょか。
A B 結果 1 なし なし 0.385 2 なし あり 0.395 3 あり なし 0.395 4 あり あり 0.415
< 使用 Excel:Excel2019、使用 OS:Windows11 >
Sub test()
Dim lastRow As Long
Dim i As Long
' 最終行を取得(A列を基準)
lastRow = Cells(Rows.Count, 1).End(xlUp).Row
' 1行目から最終行までループ(ヘッダーがある場合適宜調整)
For i = 1 To lastRow
' A列とB列の値の有無を判定
If IsEmpty(Cells(i, 1)) And IsEmpty(Cells(i, 2)) Then
' A列もB列も値無し
Cells(i, 3).Value = 0.385
ElseIf IsEmpty(Cells(i, 1)) And Not IsEmpty(Cells(i, 2)) Then
' A列が値無し、B列が値有り
Cells(i, 3).Value = 0.395
ElseIf Not IsEmpty(Cells(i, 1)) And IsEmpty(Cells(i, 2)) Then
' A列が値有り、B列が値無し
Cells(i, 3).Value = 0.395
ElseIf Not IsEmpty(Cells(i, 1)) And Not IsEmpty(Cells(i, 2)) Then
' A列もB列も値有り
Cells(i, 3).Value = 0.415
End If
Next i
End Sub
(VBAなら) 2026/09/05(土) 11:50:50
各セルがあり、なし以外があるとは考えてない D1にこれを下にフィル =IF(A1="なし",IF(B1="なし",0.385,0.395),IF(B1="あり",0.415,0.395)) (簡素) 2026/09/05(土) 12:22:57
式 =0.415-0.02*(COUNTBLANK(A1:B1)=1)-0.03*(COUNTBLANK(A1:B1)=2) を入力したセル C1 を下方にオートフィル (Mike) 2026/09/05(土) 14:48:52
|[A] |[B] |[C] |[D] |[E]
[1]|なし|なし|0.415|0.415|0.385
[2]|なし|あり|0.415|0.415|0.395
[3]|あり|なし|0.415|0.415|0.395
[4]|あり|あり|0.415|0.415|0.415
C列(VBAなら)さん
D列(Mike)さん
E列(簡素)さん
[___]|___A____|___B____|___C____| [ 1]| FALSE | FALSE | FALSE | [ 2]| FALSE | TRUE | FALSE | [ 3]| TRUE | FALSE | FALSE | [ 4]| TRUE | TRUE | TRUE |
[C1] =AND(A1,B1)
と考えるなら
[___]|___A____|___B____|___C____| [ 1]|なし |なし | 0.385| [ 2]|なし |あり | 0.385| [ 3]|あり |なし | 0.385| [ 4]|あり |あり | 0.415|
[C1] =IF(AND(A1="あり",B1="あり"),0.415,0.385)
(白茶) 2026/09/05(土) 15:59:31
こう考えるなら、か。
[___]|___A____|___B____|___C____| [ 1]| FALSE | FALSE | 1| [ 2]| FALSE | TRUE | 2| [ 3]| TRUE | FALSE | 2| [ 4]| TRUE | TRUE | 3|
[C1] =IF(AND(A1,B1),3,IF(OR(A1,B1),2,1))
(白茶) 2026/09/05(土) 16:08:23
つまり↓こうとも考えられますね。
[___]|___A____|___B____|___C____| [ 1]| FALSE | FALSE | 0| [ 2]| FALSE | TRUE | 1| [ 3]| TRUE | FALSE | 1| [ 4]| TRUE | TRUE | 2|
[C1] =A1+B1
(白茶) 2026/09/05(土) 16:18:30
(2013) 2026/09/05(土) 17:03:03
あり・なしの解釈が不明瞭ですが、 なし=数式を用いていないBlankとして、
C1 =CHOOSE(COUNTA(A1:B1)+1,0.385,0.395,0.415) (寅申) 2026/09/05(土) 18:37:13
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.