0

我希望有人能帮助我

我有两个具有两个不同值列表的字段;通过在巴塞尔业务线 2 中选择一个值,一个值会自动填充巴塞尔业务线 1。

我创建了几个正确验证的 IF 语句。但是,在测试此功能时,前两个 IF 语句有效,因此当我选择“咨询销售”时,巴塞尔业务线 1 会自动填充“公司财务”,即。但是,当我从 If 语句 3 或 4 中选择“卡服务”或任何其他值时,巴塞尔业务线 2 中不会填充任何值。

IF((( OR( [Basel Business Line Level 2]=VALUEOF([Basel Business Line Level 2],"Corporate Finance"), [Basel Business Line Level 2]=VALUEOF([Basel Business Line Level 2],"Merchant银行业务"), [巴塞尔业务线 2 级]=VALUEOF([巴塞尔业务线 2 级],"咨询服务"), [巴塞尔业务线 2 级]=VALUEOF([巴塞尔业务线 2 级],"市政/政府财务")), VALUEOF([巴塞尔业务线 1 级],"企业财务")),

IF( OR( [Basel Business Line Level 2]=VALUEOF([Basel Business Line Level 2],"Sales"), [Basel Business Line Level 2]=VALUEOF([Basel Business Line Level 2],"Market Making") , [Basel Business Line Level 2]=VALUEOF([Basel Business Line Level 2],"专有职位"), [Basel Business Line Level 2]=VALUEOF([Basel Business Line Level 2],"Treasury")), VALUEOF ([巴塞尔业务线 1 级],“贸易和销售”))),

IF( OR( [Basel Business Line Level 2]=VALUEOF([Basel Business Line Level 2],"Retail Banking"), [Basel Business Line Level 2]=VALUEOF([Basel Business Line Level 2],"Private Banking" ), [Basel Business Line Level 2]=VALUEOF([Basel Business Line Level 2],"卡服务")), VALUEOF([Basel Business Line Level 1],"Retail Banking")),

IF([Basel Business Line Level 2]=VALUEOF([Basel Business Line Level 2],"Commercial Banking"), VALUEOF([Basel Business Line Level 1],"Commercial Banking")))

我不知道为什么最后两个 If 语句不起作用..请帮忙?

4

1 回答 1

2


从逻辑的角度来看,您共享的公式是不正确的。我很惊讶它通过了验证。您可以考虑将此作为 Archer 错误报告给 RSA。

关于您遇到的问题。见下图。 在此处输入图像描述 您将第二个 IF 括在括号中,第一个 IF 的条件应该位于该位置。这打破了逻辑。
每次您在计算方面遇到问题时,我建议您以类似的方式对其进行格式化,以便于排除故障。

我提出以下解决方案:

如果(
   或者(
      [巴塞尔业务线级别 2]=VALUEOF([巴塞尔业务线级别 2],"企业财务"),
      [巴塞尔业务线 2 级]=VALUEOF([巴塞尔业务线 2 级],"Merchant Banking"),
      [巴塞尔业务线 2 级]=VALUEOF([巴塞尔业务线 2 级],"咨询服务"),
      [巴塞尔业务线 2 级]=VALUEOF([巴塞尔业务线 2 级],"市政/政府财政")
   ),
   VALUEOF([Basel Business Line Level 1],"Corporate Finance"),
   如果(
      或者(
         [巴塞尔业务线级别 2]=VALUEOF([巴塞尔业务线级别 2],"销售"),
         [巴塞尔业务线 2 级]=VALUEOF([巴塞尔业务线 2 级],"做市"),
         [巴塞尔业务线级别 2]=VALUEOF([巴塞尔业务线级别 2],"专有职位"),
         [巴塞尔业务线 2 级]=VALUEOF([巴塞尔业务线 2 级],"财政部")
      ),
      VALUEOF([Basel Business Line Level 1],"Trading and Sales"),
      如果(
         或者(
            [巴塞尔业务线 2 级]=VALUEOF([巴塞尔业务线 2 级],"零售银行"),
            [巴塞尔业务线 2 级]=VALUEOF([巴塞尔业务线 2 级],"私人银行业务"),
            [巴塞尔业务线级别 2]=VALUEOF([巴塞尔业务线级别 2],"卡服务")
         ),
         VALUEOF([Basel Business Line Level 1],"零售银行业务"),
         如果(
            [巴塞尔业务线 2 级]=VALUEOF([巴塞尔业务线 2 级],"商业银行"),
            VALUEOF([Basel Business Line Level 1],"商业银行业务")
         )
      )
   )
)

*** 请注意,如果 [Basel Business Line Level 2] 字段的值不会被任何 OR 匹配,则此计算将不会返回任何值,并且字段 [Basel Business Line Level 1] 将设置为“无选择” .
如果所有 OR 都未能匹配 [Basel Business Line Level 2] 字段,您可能希望在最后一个 IF 上再添加一行以填充字段 [Basel Business Line Level 1] 的值。

我希望这会有所帮助,祝你好运!

于 2016-05-28T17:16:48.117 回答