Google表格公式将货币从欧元或英镑提取并转换为美元

时间:2016-10-17 01:59:28

标签: regex google-sheets formulas array-formulas

我正在尝试使用一个公式将一系列货币字符串转换为美元,以便我有一些相同的货币。

目前我只针对欧元,英镑和美元这样做,但稍后我会将其扩展到更多货币。

我有一个目前能够执行以下操作的公式:

正常

  • - > (空白为空白)
  • Yes - > Yes
  • No - > No
  • Alt - > Alt
  • N/A - > N/A

  • Yes €100 - > Yes $110
  • Yes €200 (Current) - > Yes $219 (Current)
  • Yes €300 NA - > Yes $329 NA
  • Yes €400 Next - > Week Yes $439 Next Week
  • Yes €500 5 RE - > Yes $549 5 RE

£

  • Yes £100 - > Yes $122
  • Yes £200 (Current) - > Yes $243 (Current)
  • Yes £300 NA - > Yes $365 NA
  • Yes £400 Next Week - > Yes $486 Next Week
  • Yes £500 5 RE - > Yes $608 5 RE

$(USD)

  • Yes $100 - > Yes $100
  • Yes $200 (Current) - > Yes $200 (Current)
  • Yes $300 NA - > Yes $329 NA
  • Yes $400 Next Week - > Yes $400 Next Week
  • Yes $500 5 RE - > Yes $500 5 RE

问题:

然而,它无法应对以下情况:

  • Yes £600 - £700 - > Yes $730 - $851
  • Yes €600 - €700 - > Yes $658 - $768
  • Yes $600 - $700 - > Yes $600 - $700

目前, EUR版本和£ GBP行只会转换第一个值,我需要将它们转换为美元。

  • Yes £600 - £700 - > Yes $729 - £700(请注意输出中第一种货币的$和输出中第二种货币的£)
  • Yes €600 - €700 - > Yes $658 - €700(请注意输出中第一种货币的$和输出中第二种货币的€)

当前公式:

=ArrayFormula(
IF(NOT(ISBLANK(A2)),
  IF(IFERROR(SEARCH("$",A2),0),A2,IF(A2="N/A","N/A",IF(A2="No","No",
    IF(A2="Unknown","Unknown",IF(A2="Yes","Yes",
      SUBSTITUTE(
        A2,
        REGEXEXTRACT(A2, "[\£|\€]\d+"),
        TEXT(
          REGEXEXTRACT(A2, "[\£|\€](\d+)")
          *
          VLOOKUP(
            REGEXEXTRACT(A2, "([\£|\€])\d+"),
              {
               {"£";"€"},
                 {GoogleFinance("CURRENCY:GBPUSD");GoogleFinance("CURRENCY:EURUSD")}
              },
          2,0),
          "$###,###"
        )
      )
  )))))
,"")
 )

Formulas Original Source

1 个答案:

答案 0 :(得分:0)

简短回答

拆分值,对每个零件进行转换,然后加入零件。

建议

SPLIT和JOIN内置函数

使用SPLIT分隔“ - ”,对每个部分进行转换,然后使用JOIN部分。对于这种方法,我认为您应该在转换之前和之后使用辅助列。

尝试使用REGEX内置函数

REGEX函数允许使用数组作为参数

实施例 A3:Yes £600 - £700

=ArrayFormula(REGEXEXTRACT(A3, {"[\£|\€]\d+","- ([\£|\€]\d+)$"}))

结果

B3:£600
C3:£700

尝试使用Google Apps脚本

拥有一个包含复杂公式的电子表格可能会使一方难以为主,因为不可能在公式的每个部分都包含注释,并且可能很容易进行不必要的更改,另一方面,脚本允许插入描述性评论,并且意外更改的机会较少。