< návrat zpět

MS Excel


Téma: Když - IF rss

Zaslal/a 21.11.2023 13:59

AlfanDobrý den, nějak jsem se zacyklil.
Chci napsat podmínku KDYŽ.
A když je podmínka splněna, viz příloha, potřebuji, aby se vepsal vzorec z buňky A8 a provedl se výpočet.
V buňce A8, ale nemám vzorec s "=". Pokud by to šlo, potřeboval bych to mít v buňce A8 vždy bez toho "=".
Můžete mi, prosím někdo poradit?
Díky.
Radek

Příloha: zip55677_wall.zip (7kB, staženo 4x)
Zaslat odpověď >

Strana:  « předchozí  1 2
#055689
Alfan
Díky, přikládám.
na listu "procedure" se v A2 mění to číslo.
Teď testujme na číslo 2. Pak si to zedituji i pro jedničku.
Když bude v této buňce číslo 2, tak potřebuji na listu "data" ve sloupci "B" doplnit vzorec z listu "procedure" buňka "D7", pokud ne, třeba "XXX".
Já bych si to pak všechno upravil.
Děkuji.
Příloha: zip55689_wall-anonym.zip (63kB, staženo 3x)
citovat
#055690
elninoslov
Obmedzenie EVALUATE/VYHODNOTIT spočíva v maximálnej dĺžke textu vzorca 255 znakov. Preto Vám to nejde ani po nutnej úprave všetkých
[@trip]
na
TabData[@trip] v texte vzorca.

Ten vzorec je divný, vkuse to isté hľadanie. Skúste ten vzorec premyslieť inak, prípadne rozložiť na časti ako Definované názvy, a tie použiť vo vzorci (to som netestoval - len nápad).

Každopádne, keď sa vojdete do 255 znakov, tak:

1. Vytvorte si definovaný názov napr. "VYHODNOTIT_VZOREC" napr. takto:
=EVALUATE(IF(procedure!$A$2=2;procedure!$D$7;IF(procedure!$A$2=1;procedure!$D$5;"není 1 ani 2")))
=VYHODNOTIT(KDYŽ(procedure!$A$2=2;procedure!$D$7;KDYŽ(procedure!$A$2=1;procedure!$D$5;"není 1 ani 2")))


2. Do stĺpca "control trip" v Tabuľke "TabData "zadajte vzorec:
=VYHODNOTIT_VZOREC

Poznámky:
-na liste "haulier" vyhľadávate v stĺpci G, kde nič nie je
-ak máte v procedure!D7 a D5 český vzorec, na žiadnom inom Office to EVALUATE/VYHODNOTIT nedokáže vykonaťcitovat
#055692
Alfan
Jj, díky moc za pomoc.
Já to nedokážu zmenšit, ten počet znaků s ohledem, že to předělávám a kolega tam "dotahuje" data přes tu dlouhou cestu k nějakému souboru u něj na počítači.
Chtěl jsem to zautomatizovat podle toho, kde by zrovna ten soubor bude používán.
Takhle prostě "natvrdo" připravím verzi pro něj a pro jinou pro účely testování.
Ještě jednou díky.
Radekcitovat
#055695
elninoslov
Skrátiť to ide ako som písal.
Definovaný názov TMPVLO
=VLOOKUP(TabData[@trip];haulier!D$2:$G$200000;1;FALSE)
=SVYHLEDAT(TabData[@trip];haulier!D$2:$G$200000;1;NEPRAVDA)

V bunke D7 bude:
IF(AND(TYPE(TabData[@trip])=1;IF(IF(ISERROR(VTMPVLO);"XXX";TMPVLO)="XXX";"";IF(ISERROR(TMPVLO);"XXX";TMPVLO))="");"X?X";IF(IF(ISERROR(TMPVLO);"XXX";TMPVLO)="XXX";"";IF(ISERROR(TMPVLO);"XXX";TMPVLO)))
KDYŽ(A(TYP(TabData[@trip])=1;KDYŽ(KDYŽ(JE.CHYBHODN(VTMPVLO);"XXX";TMPVLO)="XXX";"";KDYŽ(JE.CHYBHODN(TMPVLO);"XXX";TMPVLO))="");"X?X";KDYŽ(KDYŽ(JE.CHYBHODN(TMPVLO);"XXX"; TMPVLO)="XXX";"";KDYŽ(JE.CHYBHODN(TMPVLO);"XXX";TMPVLO)))

Teda skrátené a vykonateľné.citovat
#055696
Alfan
Jj, já tam tyto vzorce:
v prvním sloupci toto:
=KDYŽ(A(TYP([@trip])=1;TYP(SVYHLEDAT([@trip];haulier!$G$2:$G$200000;1;0))=16);"?X?";KDYŽ(TYP(SVYHLEDAT([@trip];haulier!$G$2:$G$200000;1;0))=16;"";SVYHLEDAT([@trip];haulier!$G$2:$G$200000;1;0)))

ve druhém toto:
=KDYŽ(NEBO([@[č. TR]]="";[@[č. TR]]="?X?");"";KDYŽ(SVYHLEDAT([@trip];haulier!$G$2:$H$200000;2;0)<>[@product];"MISTAKE";"O.K."))

Ale to je pro mě, na mém počítači.

Ale kolega načítá ta data přes šílenou cestu z externího souboru, který má uložený v počítači a proto je to tak dlouhé.
C:\Users\NovakJ\Desktop\Karel práce\GPCZ složka dokumentů\GPCZ podklady pro fakturaci\[ABCDEFGHEIJKLMOP.xlsx]Haulier Proforma Details Report

Já mám ta data zkopírovaná do listu "haulier".citovat
#055699
elninoslov
V pohode, tie Vaše vzorce sú prevediteľné, len si doplňte pre každý odkaz na stĺpec Tabuľky, jej názov ([@trip] -->> TabData[@trip]). Aj s tým majú menej ako 255 znakov.

Kolegov prípad je riešiteľný, ako som písal, skrátením pomocou Definovaných názvov.
Definujte názov ZDROJ
='C:\Users\NovakJ\Desktop\Karel práce\GPCZ složka dokumentů\GPCZ podklady pro fakturaci\[ABCDEFGHEIJKLMOP.xlsx]Haulier Proforma Details Report'!$G$2:$G$200000
A potom len vo vzorcoch namiesto
haulier!$G$2:$G$200000
požijete
ZDROJ
teda namiesto
...SVYHLEDAT(TabData[@trip];haulier!$G$2:$G$200000;1;0)...
bude
...SVYHLEDAT(TabData[@trip];ZDROJ;1;0)citovat
#055708
Alfan
Díky.
Zkusím si to předělat.
Ještě se chci zeptat.
Ten ZDROJ nadefinuji, to umím.
A dala by se ta definice odkazovat na nějakou buňku v listu?
Jde mi o to, že například na listu "procedure" v buňce "G5" budu mít tu cestu ke zdroji a zde bych ji mohl kdykoliv editovat, abych nemusel editovat definice ZDROJ.
Jde to nějak?
Děkuji.citovat
#055722
elninoslov
Do iného zatvoreného zošitu to ale kolegovi cez EVALUATE nepôjde. To by sa muselo riešiť komplikovane, napr. načítaním dát zo zdroja do skrytého listu (pri každej zmene textu zdroja). To, čo chcete Vy, teda aby bol vzorec ako text, a zdroj variabilný a tiež ako text, ext. súbor zatvorený, je cez EVALUATE nemožné.citovat
#055723
Alfan
Díky za upřesnění.
Radekcitovat

Strana:  « předchozí  1 2

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

Formulář Faktura

Formulář Faktura IV

Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.

Helios iNuvio

Používáte podnikový systém Helios iNuvio? Potřebujete pomoci se správou nebo vyvinout SQL proceduru? Více informací naleznete na stránce Helios iNuvio.

On-line nástroje