excel 根据前两列中的值将值分配给第三列

sshcrbum  于 2023-05-19  发布在  其他
关注(0)|答案(1)|浏览(119)

像大多数人一样,我们使用Excel来完成一些常规系统之外的报告,这取决于管理层想知道什么。
我们的许多项目确实从多个来源获得资金-一个常见的问题是,如果一个项目从一个资金来源获得任何资金,相关的成本是什么,与分配给该项目的其他资金来源相比如何。
我们用公式做了大部分的工作,应该很简单,但是在将项目分配给程序的基本步骤上遇到了麻烦。
在这一步中,我所要做的就是根据前两个值填充一个列。
举一个简单的例子,如果前两列中的值为:
| 工程项目|供资|
| --------------|--------------|
| 1|西北|
| 1|西北|
| 1| WS|
| 二|WS|
| 二|WS|
| 二|WS|
| 三|西北|
| 三|西北|
| 三|AR|
| 四|AR|
| 四|AR|
| 四|WS|
我们希望开发数据,用于开发涉及NW资金的报告,我们希望第三列填充如下值:
| 工程项目|供资|项目|
| --------------|--------------|--------------|
| 1|西北|西北|
| 1|西北|西北|
| 1| WS|西北|
| 二|WS|未供资|
| 二|WS|未供资|
| 二|WS|未供资|
| 三|西北|西北|
| 三|AR|西北|
| 三|AR|西北|
| 四|AR|未供资|
| 四|AR|未供资|
| 四|WS|未供资|
谢谢

1l5u6lss

1l5u6lss1#

使用SUMPRODUCT()

·单元格C2中使用的公式

=IF(SUMPRODUCT(--($A$2:$A$13=A2)*--($B$2:$B$13="NW")),"NW","Not Funded")

或者,使用COUNTIFS()

·单元格C2中使用的公式

=IF(COUNTIFS($A$2:$A$13,A2,$B$2:$B$13,"NW"),"NW","Not Funded")

或者,如果需要溢出数组公式,则使用MAP()

·单元格C2中使用的公式

=MAP(
    A2:A13,
    B2:B13,
    LAMBDA(x, y,
        IF(
            COUNTIFS(
                x:A2, x,
                y:B2, "NW"
            ),
            "NW",
            "Not Funded"
        )
    )
)

相关问题