我有一张包含以下数据的表格。我想设置一个规则,当第三列为True时,将前两列中的值粘贴到单独的表中。
1 1 0 False
1 1.2 0 False
1 1.4 0 False
1 1.6 0 False
1 1.8 0 False
1 2 0 False
1 2.2 0 False
1 2.4 0 False
1 2.6 0 False
1 2.8 0 False
2 1 0 False
2 1.2 0 False
2 1.4 0 False
2 1.6 0 False
2 1.8 0 False
2 2 0 False
2 2.2 33.5 False
2 2.4 79.8 False
2 2.6 100 PASSED
2 2.8 100 PASSED
期望的输出:
new table with values that have 'TRUE'
1 1 0 False 2 2.6
1 1.2 0 False 2 2.8
1 1.4 0 False
1 1.6 0 False
1 1.8 0 False
1 2 0 False
1 2.2 0 False
1 2.4 0 False
1 2.6 0 False
1 2.8 0 False
2 1 0 False
2 1.2 0 False
2 1.4 0 False
2 1.6 0 False
2 1.8 0 False
2 2 0 False
2 2.2 33.5 False
2 2.4 79.8 False
2 2.6 100 PASSED
2 2.8 100 PASSED
这在excel中是否可行?
答案 0 :(得分:2)
有很多方法可以做到这一点 - 最简单的方法是简单地过滤' TRUE / FALSE'列,仅显示TRUE值。然后复制&粘贴到新工作表。或者,获取数据表,并创建一个过滤TRUE值的轴。
对于稍微更动态的方法,无需人工干预即可更新,您可以执行以下操作:
在当前数据表的右侧添加一个新列。从D2开始并向下滚动[如果您有标题,则无需进一步操作。如果你没有标题,硬编码D1如果为TRUE则为1,如果为FALSE则为0],请输入以下内容:
=IF(C2,MAX($D$1:D1)+1,"")
D列现在将向上迭代1,每次C列中都有一行显示为TRUE。
现在,在您的另一个工作表上,您可以在A列上创建索引(1,2,3等)。在该索引旁边,您将以下内容放在B2上[假设第1行中存在标题]并向下复制在右边[这假设您的原始表格在Sheet1中]:
=INDEX('Sheet1'!A:A,MATCH($A1, 'Sheet1'!$D:$D,0))
这会从适当的列中提取值[注意:没有$' s引用Sheet1&#39的列A - 这意味着当您向右移动公式时它将向右移动],无论在哪里它与列A中的相同索引号匹配,就像在Sheet1的列D中一样。
答案 1 :(得分:1)