gpt4 book ai didi

Excel合并和组合类似单元格

转载 作者:行者123 更新时间:2023-12-02 20:54:25 25 4
gpt4 key购买 nike

我有一个简单的 Excel 电子表格,它是每日更新的计数器列表。表格的格式如下:

A         B          C             D          E
date name computer info counter

例子:
A             B          C         D              E
04/04/2012 John 186 Workstation 4813
04/04/2012 Mary 181 Workstation 2273
04/05/2012 John 186 Workstation 4822
04/05/2012 Mary 181 Workstation 2274
04/06/2012 John 186 Workstation 4854
04/06/2012 Mary 181 Workstation 2275
04/06/2012 Bill 183 Workstation 3698

和儿子……

我需要做的是将所有类似的单元格组合起来。因此,例如合并每个月的所有行,并从第一列中减去最后一个 E 列,这样它在新工作表中看起来如下所示。
A             B          C         D              E
April 2012 John 186 Workstation 41
April 2012 Mary 181 Workstation 2
April 2012 Bill 183 Workstation 0

依此类推……请记住,这是每天更新的,并且有很多天,几个月和几年。

我什至不知道如何考虑这样做,但我认为我需要一个宏。如果有人有任何帮助,那就太好了!

最佳答案

Assuming this is what you want to do

我花了一些时间在这上面,感觉我终于得到了你需要的东西。我会上传一个示例文件,但这里阻止了文件共享站点:)。

现在我知道,您希望您的输出在不同的选项卡中,但现在请耐心等待。

以下解决方案很长(由于您的问题的性质而预期)。按照这里对T的操作,不要关心可能在某些单元格中弹出的中间错误,它会在一段时间内全部解决。

我假设您的工作表看起来像图像的黄色部分。 (别管第一栏中的日期,它们都是 2012 年 4 月的日期,这很重要。)

在单元格 F2 中,粘贴以下公式
=IF(A2="","",MONTH(A2))
在单元格 G2 中,粘贴以下公式,
=IF(A2="","",YEAR(A2))
在单元格 H2 中,粘贴以下公式,
=IF(B2="","",B2&"|"&F2&"@"&G2)
我正在使用字符“|”和“@”在这里,因为我假设它们不会出现在任何名称中! 请确定是不是这样!!

现在将单元格 F2 复制到 H2,并将它们一直粘贴到您有数据的地方。

现在,我还假设您有 8000 行数据。如果您有超过 8000 行,请将以下公式中的所有“8000”替换为您想要的数字。

在单元格 Q2 中,粘贴以下公式,
=IF(ISERROR(INDEX($H$2:$H$8000,MATCH(0,COUNTIF($Q$1:Q1,$H$2:$H$8000),0))),"",INDEX($H$2:$H$8000,MATCH(0,COUNTIF($Q$1:Q1,$H$2:$H$8000),0)))
请注意,这是一个数组公式,需要用Ctrl+Shift+Enter 输入.因此,在第二季度,您将此公式粘贴到公式栏中,而不是按 Enter,而是按 Ctrl + Shift + Enter。我从 here 借用了这个公式.您可以查看该站点以了解此公式的工作原理。

现在,在单元格 K2 中,粘贴以下公式
=IF(OR(Q2=0,Q2=""),"",LEFT(Q2,FIND("|",Q2)-1))
在单元格 P2 中,粘贴以下公式
=IF(OR(Q2=0,Q2=""),"",VALUE(RIGHT(Q2,LEN(Q2)-(FIND("@",Q2)))))
在单元格 O2 中,粘贴以下公式
=IF(OR(Q2=0,Q2=""),"",VALUE(MID(Q2,FIND("|",Q2)+1,LEN(Q2)-LEN(K2)-LEN(P2)-2)))
在单元格 J2 中,粘贴以下公式
=IF(OR(Q2=0,Q2=""),"",TEXT(DATE(P2,O2,1),"mmm yyyy"))
在单元格 L2 中,粘贴以下公式
=IF(OR(Q2=0,Q2=""),"",INDEX($C$2:$C$8000,MATCH(K2,$B$2:$B$8000,0)))
在单元格 M2 中,粘贴以下公式
=IF(OR(Q2=0,Q2=""),"",INDEX($D$2:$D$8000,MATCH(K2,$B$2:$B$8000,0)))
在单元格 N2 中,粘贴以下公式,
=IF(OR(Q2=0,Q2=""),"",MAX(IF((($B$2:$B$8000=K2)*($F$2:$F$8000=O2)*($G$2:$G$8000=P2)),($E$2:$E$8000)))-MIN(IF((($B$2:$B$8000=K2)*($F$2:$F$8000=O2)*($G$2:$G$8000=P2)),($E$2:$E$8000))))
再次请注意,这是一个数组公式,需要用Ctrl+Shift+Enter 输入.确保您已完成上述所有步骤

现在选择从 J2 到 Q2 的单元格,复制它们并将它们粘贴到所需的位置。在示例屏幕截图中,这将是第 5 行(以涵盖所有可能性)。

你终于有了你需要的 table 。您现在可以使用简单的“等于”关系将该表链接到其他位置。此外,如果您愿意,您可以从数据表中隐藏所有这些额外的列。

呼!!我 真的希望能解决你的问题!!我想我应该为所有这些努力而表扬!!希望能帮助到你! :)

关于Excel合并和组合类似单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10300618/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com