2014-09-12 35 views
-1

我有一个不太正确的公式,我希望公式可以查看另一个单元格的前1或2个字符,并根据此内容乘以一定数量。Excel公式 - 基于另一个单元格中的字符的乘积

它的工作原理部分,但是需要要么完全翻版或轻微的调整:

=IFERROR(IF(LEFT(A213,1)="Z",(D213*0.85),($D213*(1-K$7))),IF(LEFT(A213,2)="FF",(D213*0.8),"")) 

目前,如果FF被发现,它会恢复到否则,如果第一条语句:*(1-K$7) - 试图把这一声明在结尾如此是最后的手段,但我无法制定出语法。

我的数字另一选择将是对与后续薄板的表:

Z .85 

FF .8 

然后参照这个在公式中。

上述解决方案将使其具有可扩展性,但我不完全确定如何去做。

有什么想法?

实施例:

小区k $ J = 30%

A  D E 
FF12345 £100 £80 <-- column E = column D * 0.8 
Z345674 £200 £170 <-- column E = column D * 0.85 
V345565 £300 £210 <-- column E = column D * (1-30%) 
+1

尚不清楚你想要达到的目标。请显示:输入,所需输出,并解释电流输出与期望值的不同。 – 2014-09-12 11:10:41

+0

道歉是unclear- 典型值列A:列d FF12345 Z345674 V345565 典型值: £100 £200 £300 我想做什么在列E中查看列A的单元格值并根据前面的字母(左1或2个字符)将列D乘以特定量: 因此,如果列A中的第一个或两个字符是: FF然后*列D.8 Z然后*列D由.85 我希望这更清楚。 谢谢 P.S小区K $ 7 = 30% – Ash 2014-09-12 11:27:20

+0

在评论中的澄清可能会更好地作为OP的编辑 - 并可能受益于更多细节。例如,ColumnA的值可能是'F'而不是'FF'(如果是的话,结果应该是什么)。一份*完整的*适用的因素和情况列表可能会有所帮助。 – pnuts 2014-09-12 11:49:39

回答

0

假设 “Z” 的优先级,这应该做的伎俩:

=IFERROR(IF(LEFT(A213,1)="Z",D213*0.85,IF(LEFT(A213,2)="FF",D213*0.8,$D213*(1-K$7))),"") 

它看起来为 “Z”,然后“FF”,然后去$D213*(1-K$7)。下面

结合您的建议VLookup

=IFERROR(IF(LEFT(A213,1)="Z",D213*VLOOKUP("Z",Sheet2!$A:$B,2,0),IF(LEFT(A213,2)="FF",D213*VLOOKUP("FF",Sheet2!$A:$B,2,0),$D213*(1-K$7))),"") 
+0

感谢您的反馈,最后我做了一个更简单的公式,并用vlookup引用了第二个表: = IFERROR(IFERROR(VLOOKUP(AV219,Sheet2!$ A $ 3:$ B $ 12,2,FALSE),“ “)* D219,”“) AV列是一个简单=左(A219,1) 然后Sheet 2上我有 ž0.8 ˚F0.85 ģ0.8 非常感谢 – Ash 2014-09-12 12:07:26

相关问题