【发布时间】:2020-07-09 17:08:32
【问题描述】:
我在 Exel(365 版本)中有一个超过 78K 行的大文件。我正在尝试编写一个公式,该公式将返回一个True 或False 值,该值取决于Column A 中的唯一值(21K 唯一值)并且如果Column B 中的任何值是True,那么Column C 应该为Column A 中的唯一值范围返回一个True 值。
例如,我有以下数据:
Column A Column B
1 True
1 False
1 False
2 False
2 False
3 False
3 True
我希望Column C 显示以下内容:
Column A Column B Column C
1 True True
1 False True
1 False True
2 False False
2 False False
3 False True
3 True True
换句话说,对于Column A 中的每个唯一值,如果Column B 中的任何对应值是True,我希望Column C 中的所有值都声明True。
在对各种公式进行了多次不同尝试之后,我想我可能会发现与以下公式接近的东西,但它会为每个单元格返回 True。我不确定我错过了什么。
=+IF(AND(UNIQUE($A$1:$A$7)),COUNTIF($B$1:$B$7,"TRUE")>0,1)
我的数据没有任何缺失值。
我已经在这个网站上搜索了我正在尝试的内容,但上面的公式是我能找到的最接近的公式。 This thread 很接近,但不是我想要的。
我知道我可以使用以下公式手动执行此操作,但在 Column A 中有超过 21K 的唯一值,如果不需要,我不想手动执行此操作。
=+COUNTIF($B$1:$B$3,"TRUE")>0
如果这在 Python 中更容易执行,那么该代码将很有帮助。我是 Python 新手,对 Excel 更熟悉,但理解 Python 可能更容易、更快捷。
【问题讨论】:
-
当你标记 python 时,你在使用
pandasapi 吗?还是不同的图书馆? -
Python 中的 Pandas api。
标签: python excel pandas unique countif