我是新来的excel请帮助我。所以现在的情况是我们两个人没有联系
contact no contact no 1 9864573828 0145883 9834765849 1923832 018294 9876547834
我想把两列合并成一列,联系号码为10位。
contact no 9864573828 9834765849 9876547834
我正在使用Excel 2013
wn9m85ua1#
在Excel 2013中,此公式可用于列出第一个和第二个范围中的10位数字,没有间隔:
=IFERROR(IFERROR(INDEX(A:A,AGGREGATE(15,6,ROW(A:A)/(LEN(A:A)=10)/(ISNUMBER(--A:A)),ROW(1:1))),INDEX(B:B,AGGREGATE(15,6,ROW(B:B)/(LEN(B:B)=10)/(ISNUMBER(--B:B)),ROW(1:1)-SUMPRODUCT((LEN(A:A)=10)*(ISNUMBER(--A:A)))))),"")
它使用大量的资源进行计算,因此不建议使用整列引用。因此,请使用实际的范围,如:
=IFERROR( IFERROR( INDEX(A:A, AGGREGATE(15,6, ROW($A$2:$A$5) /(LEN($A$2:$A$5)=10) /(ISNUMBER(--$A$2:$A$5)), ROW(1:1))), INDEX(B:B, AGGREGATE(15,6, ROW($B$2:$B$5) /(LEN($B$2:$B$5)=10) /(ISNUMBER(--$B$2:$B$5)), ROW(1:1) -SUMPRODUCT( (LEN($A$2:$A$5)=10) *(ISNUMBER(--$A$2:$A$5)))))), "")
注:我认为(无法验证自己)公式需要用ctrl+shift+enter输入才能使其成为数组公式。
ctrl+shift+enter
这个公式所做的是获取第一个范围的第一行,其中字符串长度为10,并且转换为数字的字符串不会产生错误(如果字符串中有文本字符,则会发生错误)。当您向下拖动公式时,它会显示找到的第二个值、第三个值等,直到在第一个范围内找不到任何值为止。在这种情况下,IFERROR使其在第二个范围内查找相同的逻辑。因为我们希望它首先显示第一个找到的值,所以不能重置ROW(1:1) * -它用作第一个最小值、第二个最小值等的计数器。- * 因此我们使用相同的计数器,并使用SUMPRODUCT减去满足第一个范围条件的字符串总数,这样计数器将从第二个范围的1开始计数。如果在第二个范围内没有找到更多的值,它将显示一个空白值。因此,您可以将公式向下拖动到第一个空白结果以显示每个结果。它可能仍然是缓慢的实际范围引用。我强烈建议升级到Office 365。
ROW(1:1)
gg0vcinb2#
试试下面的公式-
=LET(x,TOCOL(A2:B13,1),FILTER(x,LEN(x)=10))
hkmswyz63#
由于您的excel版本不支持TOCOL()和一些其他公式,您可以使用这个简单的解决方案:
TOCOL()
=IF(LEN(A2)=10,A2,IF(LEN(B2)=10,B2,""))
将其放入C2并向下拖动id以获得结果:
C2
由于您没有指定如果两列都有10位数字或者都没有,该怎么做,在这些情况下,它将返回前10位数字或空字符串。
3条答案
按热度按时间wn9m85ua1#
在Excel 2013中,此公式可用于列出第一个和第二个范围中的10位数字,没有间隔:
它使用大量的资源进行计算,因此不建议使用整列引用。因此,请使用实际的范围,如:
注:我认为(无法验证自己)公式需要用
ctrl+shift+enter
输入才能使其成为数组公式。这个公式所做的是获取第一个范围的第一行,其中字符串长度为10,并且转换为数字的字符串不会产生错误(如果字符串中有文本字符,则会发生错误)。
当您向下拖动公式时,它会显示找到的第二个值、第三个值等,直到在第一个范围内找不到任何值为止。
在这种情况下,IFERROR使其在第二个范围内查找相同的逻辑。
因为我们希望它首先显示第一个找到的值,所以不能重置
ROW(1:1)
* -它用作第一个最小值、第二个最小值等的计数器。- * 因此我们使用相同的计数器,并使用SUMPRODUCT减去满足第一个范围条件的字符串总数,这样计数器将从第二个范围的1开始计数。如果在第二个范围内没有找到更多的值,它将显示一个空白值。因此,您可以将公式向下拖动到第一个空白结果以显示每个结果。
它可能仍然是缓慢的实际范围引用。我强烈建议升级到Office 365。
gg0vcinb2#
试试下面的公式-
hkmswyz63#
由于您的excel版本不支持
TOCOL()
和一些其他公式,您可以使用这个简单的解决方案:将其放入
C2
并向下拖动id以获得结果:由于您没有指定如果两列都有10位数字或者都没有,该怎么做,在这些情况下,它将返回前10位数字或空字符串。