根据其他列更改单元格值

时间:2018-05-15 09:33:51

标签: vba excel-vba excel

我希望在屏幕截图中执行以下操作:

excel screenshot

  • A列:属于C列类别的项目
  • B列:逻辑测试TRUE / FALSE
  • C栏:类别(A& B)

这个想法是改变" FALSE"到" TRUE"如果同一类别中有一个项目是" TRUE",则属于同一类别中的所有项目。所以在这种情况下,因为第5项是" TRUE"并且属于B类,B类中的其他项目(即项目2和3)将更改为" TRUE"。

输出应该是屏幕截图右侧的表格。

我假设有两个步骤:

  1. 标识值为" TRUE"
  2. 的类别
  3. 将类别中的所有项目更改为" TRUE"

3 个答案:

答案 0 :(得分:0)

只需将COUNTIFS与IF结合使用。

我的数据如下:

enter image description here

在H栏中我的公式是:

=IF(COUNTIFS(C2:C9;I2;B2:B9;TRUE)=0;FALSE;TRUE)

根据您的需要进行调整

答案 1 :(得分:-1)

enter image description here enter image description here

为第二个数据集的第二列

添加第4和第5列中的公式

答案 2 :(得分:-3)

好的,所以我不会用VBA这样做。使用纯粹的excel公式,你可以达到你想要的效果。

1)您需要在工作表上有一个参数部分作为项目编号。请查看截图以了解更多视觉

Screenshot

2)在我创建的工作表中,我使用以下公式来定义我在所有逻辑字段中复制的逻辑字段

    =IF(VLOOKUP($B$2,$A$5:$C$14,3,FALSE) = C5,TRUE, FALSE)

此公式有两部分,第一部分是评估参数中输入的类别的VLOOKUP,然后是将VLOOKUP返回的值与当前行的类别进行比较的IF。

3)现在,当您更改项目参数时,所有逻辑字段将更改为他们需要的内容