【发布时间】:2024-04-16 16:20:02
【问题描述】:
我有一个庞大的鸟类观察数据电子表格,每列名称是一个物种的名称,A 列中的每一行是一个与进行物种计数的地理位置相关联的数字。所以每个物种下的每个细胞都是在其各自位置被看到的次数的计数。
我想要的是一个函数,它会给我一个列名列表,在该位置具有值>0。我发现的所有内容都向我展示了如何找到第一个值>0,但我想要一个可以包含 50 个物种名称的列表。
最后的想法是,对于每个地理点,我只有一个在那里见过的物种列表。我假设该函数将从我读过的内容中以 INDEX 开头,但不确定如何继续。
如果 VBA 是唯一的前进道路,那很好,但我对它很陌生,所以欢迎提出如何实现这一目标的建议。
【问题讨论】:
-
您应该能够将答案调整为Concatenate top row cells if column below has 1。
-
FWIW,如果您拥有最新的 Office 365,那么以下数组公式将为示例数据执行此操作。
=TEXTJOIN(",",TRUE,IF(B2:D2>0,$B$1:$D$1,""))是和数组,需要用 Ctrl-Shift-Enter 确认。如果正确完成,Excel 将在公式周围添加{}。