excel - 如何过滤掉 Excel 行中的部分匹配项?
问题描述
我有一个 Excel 表,行中有日期。一个给定的月份只能连续使用一次。如果同一个月的同一行中有两个日期,我该如何过滤掉?
例如,我有以下数组,因此我希望在这一行 (2012-03) 中有一个匹配项。
2012-03-04 2012-02-05 2012-04-06 2012-03-07 2012-10-08 2012-11-09 2012-12-10
我试图结合聚合和匹配函数,但我不知道如何正确地做到这一点。我的一个代码,当然它给出了一个错误:
=aggregate(9,6,(MATCH("*"&LEFT(A8,7)&"*","*"&LEFT(b8,7)&"*",0), MATCH("*"&LEFT(b8,7)&"*","*"&LEFT(c8,7)&"*",0)))
好的,现在我尝试了另一种方法,我可以得到一个解决方案,但是使用一公里长的代码...我首先创建了一个新数据集,通过使用以下方法减少了天数:=" "&LEFT(A8 ,7)&" " 然后我比较了新数据集给定行中的所有单元格。有人可以帮我如何缩短确切的()部分吗?目的是比较所有。
=if((或(精确(A2,B2),精确(A2,C2),精确(A2,D2),精确(A2,E2),精确(A2,F2),精确(A2,G2),精确( A2,H2),精确(A2,I2),精确(A2,J2),精确(A2,K2),精确(A2,L2),精确(A2,M2),精确(A2,N2),精确(A2 ,O2),精确(A2,P2),精确(A2,Q2),精确(A2,R2),精确(B2,C2),精确(B2,D2),精确(B2,E2),精确(B2, F2),精确(B2,G2),精确(B2,H2),精确(B2,I2),精确(B2,J2),精确(B2,K2),精确(B2,L2),精确(B2,M2 ),精确(B2,N2),精确(B2,O2),精确(B2,P2),精确(B2,Q2),精确(B2,R2),精确(C2,D2),精确(C2,E2) ,exact(C2,F2),exact(C2,G2),exact(C2,H2),exact(C2,I2),exact(C2,J2),exact(C2,K2),exact(C2,K2),精确(C2,L2),精确(C2,M2),精确(C2,N2),精确(C2,O2),精确(C2,P2),精确(C2,Q2),精确(C2,R2),精确(D2,E2),精确(D2,F2),精确(D2,G2),精确(D2,H2),精确(D2,I2),精确(D2,J2),精确(D2,K2),精确( D2,L2),精确(D2,M2),精确(D2,N2),精确(D2,O2),精确(D2,P2),精确(D2,Q2),精确(D2,R2),精确(E2 ,F2),精确(E2,G2),精确(E2,H2),精确(E2,I2),精确(E2,J2),精确(E2,K2),精确(E2,L2),精确(E2,M2),精确(E2,N2),精确(E2,O2),精确(E2,P2),精确(E2,Q2),精确(E2,R2),精确(F2,G2),精确(F2,H2),精确(F2,I2),精确( F2,J2),精确(F2,K2),精确(F2,L2),精确(F2,M2),精确(F2,N2),精确(F2,O2),精确(F2,P2),精确(F2 ,Q2),精确(F2,R2),精确(G2,H2),精确(G2,I2),精确(G2,J2),精确(G2,K2),精确(G2,L2),精确(G2, M2),精确(G2,N2),精确(G2,O2),精确(G2,P2),精确(G2,Q2),精确(G2,R2),精确(H2,I2),精确(H2,J2 ),精确(H2,K2),精确(H2,L2),精确(H2,M2),精确(H2,N2),精确(H2,O2),精确(H2,P2),精确(H2,Q2) ,exact(H2,R2),exact(I2,J2),exact(I2,K2),exact(I2,L2),exact(I2,M2),exact(I2,N2),exact(I2,O2),精确(I2,P2),精确(I2,Q2),精确(I2,R2),精确(J2,K2),精确(J2,L2),精确(J2,M2),精确(J2,N2),精确(J2,O2),精确(J2,P2),精确(J2,Q2),精确(J2,R2),精确(K2,L2),精确(K2,M2),精确(K2,N2),精确( K2,O2),精确(K2,P2),精确(K2,Q2),精确(K2,R2),精确(L2,M2),精确(L2,N2),精确(L2,O2),精确(L2,P2),精确(L2,Q2),精确(L2,R2),精确(M2,N2),精确(M2,O2),精确(M2,P2),精确(M2,Q2),精确(M2,R2),精确(N2,O2),精确( N2,P2),精确(N2,Q2),精确(N2,R2),精确(O2,P2),精确(O2,Q2),精确(O2,R2),精确(P2,Q2),精确(P2 ,R2),exact(Q2,R2))),"同月","ok")
先感谢您。
解决方案
我不确定是否有更好的方法,
但这是我根据我的 Excel 知识解决问题的方法:
- 在单元格中添加上述日期的数据
A1-G1
- 在日期下方的行中添加日期公式:
A2=DATE(A1)
.....G2=DATE(G1)
- 在原始日期行的末尾添加数字 1 到 12:
使用公式单元格H1=1
,I1=H1+1
......S1=R1+1
- 在第 2 行的月份之后:
H2=COUNTIF($A2:$G2,H1)
......S2=COUNTIF($A2:$G2,S1)
12 个月中每个月的计数频率 T2=MAX(H2:S2)
- 然后选择
T2
超过的单元格1
。
这是一个谷歌表格(如果需要,您可以下载并在 Excel 中打开)
推荐阅读
- maven - 并行构建不适用于发布插件
- python - 如何使用Python中的输入更改while循环中的范围?
- c# - 有没有办法根据用户在 Cosmos DB 上分配的权限来获取数据?
- headless-cms - Gentics Mesh - 多语言支持 - 节点列表中的跨语言 - GraphQL 查询
- javascript - JavaScript 动态删除元素!移除孩子
- python - 替换字母的Python函数
- javascript - 错误:无法读取未定义的属性“名称”?
- ios - “[Course]”类型的 SwfitUI-Value 没有“已识别”成员
- angular - ionic - 手动添加的 js 文件没有被编译
- observable - 使服务可观察等待直到收到来自其他可观察的响应 - 角度 9