如何用REGEX提取表格单元格中不含表头且截止到,,,,,Total行的文本行?
解决方案
要提取单元格中表头之后、包含",,,,,Total"的行之前的所有数据行(行数不固定),可以使用以下正则公式(适配Google Sheets/支持正则的Excel版本):
=TRIM(REGEXEXTRACT(A10, "\n((?:.+\n)*).*,,,,,Total"))
公式说明
\n:跳过单元格内的第一行(表头行)(?:.+\n)*:非捕获组,匹配任意数量的完整数据行(支持1到6行的动态场景,每行以换行符结尾).*,,,,,Total:精准匹配到包含",,,,,Total"的终止行,确保只提取该行之前的内容TRIM():自动去除结果首尾残留的换行符或空格,保证输出整洁
示例验证
输入(单元格A10内容):
Order ID,Product,Qty,Price
1001,Apple,5,1.99
1002,Banana,3,0.99
1003,Orange,2,1.49
,,,,,Total,,13.42
输出:
1001,Apple,5,1.99
1002,Banana,3,0.99
1003,Orange,2,1.49
如果仅存在1行数据,比如输入:
Order ID,Product,Qty,Price
1001,Apple,5,1.99
,,,,,Total,,9.95
输出会正确提取1001,Apple,5,1.99
内容的提问来源于stack exchange,提问作者Code Guy
相关产品推荐
相关产品推荐

