【问题标题】:How to have one cell value dependent on multiple cells (>2)如何使一个单元格值依赖于多个单元格(> 2)
【发布时间】:2018-01-09 16:37:32
【问题描述】:

我有一个固定值,在表中一行的末尾,比如 9,000。 我希望这个值 9,000 取决于在值 9,000 之前的三个单元格(与值 9,000 位于同一行)中输入是或否。

例如:

if YES to question 1, then multiply 9,000 by .05, call this new value `x` 
if NO to question 1, then multiply 9,000 by 1. call this new value `x` 
if YES to question 2, then multiply x by .1, call this new value `x_2` 
if NO to question 2, then multiply x by 1, call this new value `x_2` 
if YES to question 3, then multiply x_2 by .075, call this new value `x_3` 
if NO to question 3, then multiply x_2 by 1, call this new value `x_3`

我尝试使用以下 if 语句:

假设单元格 D1=9,000

=IF(A1="YES",D1*.05,
     IF(A1="NO",D1,
         IF(A2="YES",D1*.1,
             IF(A2="NO",D1,
                 IF(A3="YES",D1*.075,
                     IF(A3="NO",D1,"")
                   )
               )
           )
       )
   )

我的问题是一旦输入“是”的答案,9,000 的值就会更改为新值。

一旦再次输入 YES,9,000 的值就会再次更改。

但是,我希望从第一个 YES 获得的新值是受第二个和/或第三个 YES 影响的值。

【问题讨论】:

    标签: excel loops if-statement decision-tree


    【解决方案1】:

    你应该尽量简化你的问题

    在这里您可以看到您将获得的结果类似于A*B*C*D,其中:
    A= 9000
    B= 0.05(如果 Q1=YES),B= 1(如果 Q1=NO
    C= 0.1(如果 Q2=YES),C=1(如果 Q2=NO
    D= 0.075(如果 Q3=YES),D=1(如果 Q3=FALSE

    所以我们可以通过以下方式更改您的公式:

    =D1 * IF(A1="YES",0.05,1) * IF(A2="YES",0.1,1) * IF(A3="YES",0.075,1)
    

    (假设根据您给出的示例,D19000A1 是 Question1 的答案,A2 是 Question2 的答案,A3 是 Question3 的答案)

    如果您希望在答案既不是YES 也不是NO 时出现特殊情况(例如,如果有人在问题中回答TEST),您可以使用以下检查条件进行注册:

    =IF(AND( OR(A1="YES",A1="NO"), OR(A2="YES",A2="NO"), OR(A3="YES",A3="NO") ), 
        D1 * IF(A1="YES",0.05,1) * IF(A2="YES",0.1,1) * IF(A3="YES",0.075,1), 
        "Please answer YES or NO to the questions")
    

    【讨论】:

    • 非常感谢,我想多了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多