You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Excel公式需求:提取两个单元格中的共同十进制数

解决Excel提取两单元格共有十进制字符串的问题

步骤1:生成A1和B1的随机数据

生成A1的随机十进制字符串(元素从1.3-1.9中随机排序)

在A1输入公式:

=TEXTJOIN(", ", TRUE, INDEX({1.3,1.4,1.5,1.6,1.7,1.8,1.9}, RANDARRAY(7,1,1,7,TRUE)))

该公式会将指定的7个十进制数随机打乱顺序,并用, 连接成字符串。

生成B1的随机十进制字符串(元素从指定集合中随机排序)

在B1输入公式:

=TEXTJOIN(", ", TRUE, INDEX({1.6,1.7,1.8,1.9,1.15,1.16,1.17,1.18,1.19}, RANDARRAY(9,1,1,9,TRUE)))

同理,该公式会将指定的9个十进制数随机打乱后连接成字符串。

步骤2:提取两单元格的共有十进制数到C1

在C1输入以下公式,无需VBA即可直接提取交集:

=TEXTJOIN(", ", TRUE, FILTER(TEXT(TRIM(MID(SUBSTITUTE(A1, ", ", REPT(" ", 100)), SEQUENCE(LEN(A1)-LEN(SUBSTITUTE(A1, ", ", ""))+1)*100-99, 100)), "0.000"), ISNUMBER(SEARCH(", "&TEXT(TRIM(MID(SUBSTITUTE(A1, ", ", REPT(" ", 100)), SEQUENCE(LEN(A1)-LEN(SUBSTITUTE(A1, ", ", ""))+1)*100-99, 100)), "0.000")&", ", ", "&B1&", "))))

公式逻辑说明

  1. 拆分A1为元素数组:通过SUBSTITUTE将分隔符, 替换为长空格,结合MID和SEQUENCE拆分出每个元素,TRIM清理空格后用TEXT统一格式为0.000,避免因小数位数差异导致匹配错误。
  2. 精确匹配判断:给B1字符串前后添加, ,将每个待匹配元素也包装成, X, 的形式,用SEARCH和ISNUMBER判断该元素是否存在于B1中,确保是完整匹配(避免1.1被误判为匹配1.15)。
  3. 筛选并连接结果:用FILTER筛选出匹配的元素,最后通过TEXTJOIN用, 连接成最终字符串。

注意事项

  • 如果你的单元格使用的分隔符是纯逗号(无空格),请将公式中所有", "替换为","。
  • TEXT函数的格式可以根据实际数值的小数位数调整(比如用"0.0"或"0.00"),保证匹配精度。

内容的提问来源于stack exchange,提问作者Manish Chaturvedi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 07:31:06