gpt4 book ai didi

excel - 如果单元格在任何地方重复,则隐藏

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

我正在寻求一点帮助一项艰巨的工作是试图了解我们在全国不同地区做了多少工作。

我制作了一个 Excel 工作簿,我们每个人都有一张工作表来记录我们合作过的组以及在哪里工作以及花费了多少时间,并且一个小宏会在更新时自动按字母顺序排列。第一张表结合了所有这些单独的页面,这个宏意味着虽然我和我的同事每次访问本地项目时都会记录下来,但它只在主表上显示一次

`Sub HideRows()
BeginRow = 5
EndRow = 400
ChkCol = 2
For RowCnt = BeginRow To EndRow
If Cells(RowCnt, ChkCol).Value = Cells((RowCnt - 1), ChkCol).Value
Then
Cells(RowCnt, ChkCol).EntireRow.Hidden = True
End If
Next RowCnt
End Sub`

然后我用这个公式添加了一列
`SUMIF($B$1:$B$400,$B5, $E$5:$E$400)`

所以基本上每个可见行末尾的框显示了与该组花费的总时间,因为这些行都仍然存在,它们只是不可见。

以为我很聪明,但有一个问题——如果我们两个支持同一个教会怎么办?因为它们仅在我们的各个页面中按字母顺序排列,所以“隐藏”宏没有覆盖它,然后更糟糕的是,SUMIF 函数将计算所有这些,所以我们会重复计算。

我可以看到两个选项来解决这个问题,因为我正在努力寻找一种方法

是否可以使用宏来隐藏任何重复数据的行?目前宏基本上说

“如果您说同样的事情,请直接查看上面的组名隐藏自己”,我尝试在该值检查行中放入“范围”,但我做错了,因为它使整个事情崩溃。

另一种选择是尝试让首页按字母顺序排列,但我正在使用另一个 IF 函数从各个工作表中编译数据
    =IF(ROW()-4<=$B$1,INDEX(Chris!B:B,ROW()),IF(ROW() 
<=$B$1+$C$1+4,INDEX(Pauline!B:B,ROW()-$B$1),IF(ROW()
<=$B$1+$C$1+$D$1+4,INDEX(Alan!B:B,ROW()-$B$1-$C$1),"")))

我的阅读告诉我,如果它显示的是公式的结果,我不能按字母顺序排列一列。

有人对我如何解决这个问题有任何提示吗?还是其他解决问题的方法?我知道显而易见的答案是使用数据库,但 Microsoft Access 不再作为 Office 的标准配置,或者无论基本答案是什么原因,这将花费更多的钱,而且我很难让人们学习新的程序。

感谢读到这里的任何人,即使你没有我的答案。

样本数据 :

这是 worker 的一张 table 的例子

enter image description here

因此,spreadhseet 会将其添加到此 enter image description here

头版会变成

enter image description here

最佳答案

谢谢大家的建议,

我通过使用公式在合并表中添加另一列来解决此问题

           =COUNTIF($B$5:$B18, B18)

然后将我的 VBA 代码更改为
            Private Sub Worksheet_Activate()
BeginRow = 5
EndRow = 400
ChkCol = 7
For RowCnt = BeginRow To EndRow
If Cells(RowCnt, ChkCol).Value >= 2 Then
Cells(RowCnt, ChkCol).EntireRow.Hidden = True
Else: Cells(RowCnt, ChkCol).EntireRow.Hidden = False
End If
Next RowCnt
End Sub

远非最优雅的做事方式,但它正在发挥作用。

关于excel - 如果单元格在任何地方重复,则隐藏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50989331/

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