提取系数和

题目:


如图,需要提取多项式中每一项中的系数,如第一行的系数为3和2,并对其求和,最终结果为5。

解法:

本题主要考察对文本信息的拆分和提取,通过多次拆分不难得到结果。
其中一个难点在于如第2行,"N150+E70"系数均为1,但拆分后得不到正确的结果,所以用try Number.From() otherwise 1的组合对这样的特殊情况进行处理。
另一个难点如第5行,对"+120"按*拆分后,结果仍为120,但正确的系数应为1。这里使用的方法是&"@",使"120"变成"120@",从而转换为数字时出错变成1。这是一个取巧的方法,用其他方法亦可,实际操作下就理解了。

let
    源 = Excel.CurrentWorkbook(){[Name="表1"]}[Content],
    因子和 = Table.AddColumn(源, "因子和", each List.Sum(List.Transform(Text.Split(List.Last(Text.Split([电缆型号],"-")),"+"),each try Number.From(Text.BeforeDelimiter(_&"@","*")) otherwise 1)))
in
    因子和

附件

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注