/ / Vzorec programu Excel - Násobenie založené na znakoch v inej bunke - excel, excel-formula, vzorec

Excel Formule - Násobenie založené na znakoch v inej bunke - excel, excel-formula, vzorec

Mám vzorec, ktorý nie je úplne správny, chcel by som, aby sa vzorec pozrel na prvých 1 alebo 2 znaky inej bunky a na základe jeho obsahu sa množil o stanovenú sumu.

Funguje čiastočne, ale vyžaduje buď úplné prepracovanie alebo mierne vylepšenie:

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

V súčasnosti, ak FF sa zistí, že sa vráti k inému prvému vyhláseniu: *(1-K$7) - Vyskúšal som, že toto vyhlásenie je na konci, takže je to posledná možnosť, ale nemohol som vypracovať syntax.

Myslím si, že ďalšia možnosť by bola tabuľka na nasledujúcom hárku s:

Z  .85

FF .8

atď.

Potom odkaz na toto vo vzorci.

Vyššie uvedené riešenie by bolo škálovateľné, aj keď si nie som úplne istý, ako by som to urobil.

Nejaké nápady?

Príklad:

Bunka K $ 7 = 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%)

odpovede:

0 pre odpoveď č. 1

Za predpokladu, že "Z" má prednosť, malo by to urobiť trik:

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

Hľadá "Z", potom "FF", potom ide $D213*(1-K$7).

Nižšie obsahuje vaše navrhnuté 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))),"")