[[20260905110142]] 『ある条件時に決まった値を表示させたい』(れんこん) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) |

| 全文検索 | 過去ログ ]

 

『ある条件時に決まった値を表示させたい』(れんこん)

初めまして、れんこんと申します。どのような関数にしたらいいのか分かりません。お教えいただけますと助かります。
以下の表があります。
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 >


A列が値無しでB列が値無しの場合はC列のセルに0.385と表示
A列が値無しでB列が値有りの場合はC列のセルに0.395と表示
A列が値有りでB列が値無しの場合はC列のセルに0.395と表示
A列が値有りでB列が値有りの場合はC列のセルに0.415と表示

 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


お。ゴメンなさい・・・老眼で数字がよめなかった orz
(白茶) 2026/09/05(土) 16:02:14

 こう考えるなら、か。

 [___]|___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


「あり」は何か入力されている、「なし」は空白と解釈して
C1=IF(AND(A1="",B1=""),0.385, IF(AND(A1<>"",B1<>""),0.415, 0.395))

(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.