首页 > 解决方案 > 如何过滤掉 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")

先感谢您。

标签: excelaggregate

解决方案


我不确定是否有更好的方法,
但这是我根据我的 Excel 知识解决问题的方法:

  1. 在单元格中添加上述日期的数据A1-G1
  2. 在日期下方的行中添加日期公式:A2=DATE(A1).....G2=DATE(G1)
  3. 在原始日期行的末尾添加数字 1 到 12:
    使用公式单元格H1=1I1=H1+1......S1=R1+1
  4. 在第 2 行的月份之后:
    H2=COUNTIF($A2:$G2,H1)...... S2=COUNTIF($A2:$G2,S1)
    12 个月中每个月的计数频率
  5. T2=MAX(H2:S2)
  6. 然后选择T2超过的单元格1

这是一个谷歌表格(如果需要,您可以下载并在 Excel 中打开)

公式 (1 of 3)

公式 (2 of 3)

公式(3 之 3)

数据


推荐阅读