【问题标题】:Extract £ or % value from Google Sheets with REGEXTRACT使用 REEXTRACT 从 Google 表格中提取 £ 或 % 值
【发布时间】:2021-07-19 18:27:22
【问题描述】:

我有一个 Google 表格公式,可以从一段文本中提取英镑的货币价值或折扣百分比。

=REGEXEXTRACT(B2,"[\d,.£%]+") - 提取£价值或折扣百分比(但也包括其他数字)

=REGEXEXTRACT(B2,"[\d,.]+") - 提取数字、逗号或句点

但是,如果文本在 £ 价值或折扣百分比之前包含任何其他数字,则它们会首先被提取。

如何仅从 Google 表格中的每个单元格中提取 £ 价值或折扣百分比?

显示的最大折扣最多为小数点后 2 位,这可能有助于构建公式以提取值的左侧或右侧 4 位数字。

示例数据

Amy Wills 44% Discount
1Direction Food 45.37% Discount
AllUnder20 £120 Commission
AATU 13.31% Discount
Tickets4You £70 Commission
AllAboutU £7 Commission
Andrea Cardini 4% Discount

【问题讨论】:

    标签: regex google-sheets google-sheets-formula


    【解决方案1】:

    你可以使用

    =JOIN("", REGEXEXTRACT(B2, "£(\d+(?:[.,]\d+)?)|(\d+(?:[.,]\d+)?)%"))
    

    详情

    • £(\d+(?:[.,]\d+)?) - 匹配 £,然后匹配并捕获到第 1 组一个或多个数字,后跟一个或零个 ./,,然后是一个或多个数字
    • | - 或
    • (\d+(?:[.,]\d+)?)% - 匹配并捕获到第 2 组一个或多个数字,然后是一个或零个 ./,,然后是一个或多个数字,然后匹配 %

    查看演示截图:

    请参阅RE2 regex demo

    【讨论】:

    • 这很好用,但是,我还需要预先或附加 £ 和 %,具体取决于它是货币值还是百分比。
    • @sigur7 所以,使用£(\d+(?:\.\d+)?)|(\d+(?:\.\d+)?)%|%(\d+(?:\.\d+)?)|(\d+(?:\.\d+)?)£,见demo
    【解决方案2】:

    根据您的示例,这应该可行。

    =SUMPRODUCT(N(SPLIT(B2," ")))

    你可以在工作中看到它here in cell C2

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-29
      • 2017-12-31
      • 1970-01-01
      • 1970-01-01
      • 2013-03-08
      相关资源
      最近更新 更多