答案1
显示的样本数据可以视为位于 A1:E4 中,行和列标题(标题)位于第 1 行和 A 列,依此类推。在这种情况下,单元格 E4(示例中的最后一行)的公式将是:
=IFERROR(VALUE(B4)*0.3,
VALUE(LEFT(B4,FIND("-",B4)-1))*0.3&"-"&VALUE(RIGHT(B4,LEN(B4)-FIND("-",B4)))*0.3)
中的第一个计算用于指示目标单元格中是否存在单个值。如果失败,则第二个计算将构成范围的字符串拆分为“-”左侧的部分和“-”右侧的部分。它使用IFERROR()
,这次将每个字符串转换为数字,然后将每个字符串乘以“.3”,最后形成结果左侧值的字符串VALUE()
VALUE()
因子,一个新的“-”,以及由此产生的正确值因素。
它确实依赖于在“范围”单元格中一致使用“-”来分隔两个组件,尽管人们可以通过付出很多努力来处理几种可能性。替代输入形式可能有“空格-破折号-空格”或类似的混乱,但通过在包装器TRIM()
内的字符串片段周围插入一个函数VALUE()
来去除前导或尾随空格,可以更好地处理这些问题。可能会发现其他变体,人们可能会找到各种巧妙的方法来处理它们。
不过,这很简单,分离、操作和重新生成字符串。所以你唯一真正的麻烦就是处理人们输入的错误数据(而且会有很多)。不过,如果数据来自某个由程序编写的数据源,而不是数据输入,那就不是问题了!