Moi
Hieman tuli ongelmia jossien ja phakujen kanssa.
Käytössä on työkirjat hinnasto ja tilaus.
hinnasto:
tuotekoodi, tuote, hinta1 (sarake 3, hinta2 (sarake 4), hinta3 (sarake 5)
op;omena;12;10;23
pä;päärynä;;0;11
tilaus:
tuotekoodi, tuote, määrä, a-hinta, alennus, hinnastonro
op;omena;3; funktio; 4; arvo haettu toisella koodilla
Nyt pitäisi saada a-hinta siten, että jos koodi puuttuu hinnastosta, tulee ilmoitus "koodi puuttuu", ja jos hinnan kohdalla on tyhjä (0 on jo hinta), niin tulee ilmoitus "hinta puuttuu". Hinnastonro ilmoittaa, mistä sarakkeesta hinnastoa hinta haetaan.
Toisessa tapauksessa pitää ottaa huomioon myös alennus. Jos alennus on 4, niin muiden ehtojen lisäksi hinta haetaankin sarakkeesta 4.
Läksin ratkaisemaan ongelmaa systeemillä:
JOS(onvirhe(jos(A2;(phaku(A2;'[hinnasto]taul1'!$A:$E; mitähän tähän tulee;epätosi)); jne, mutta sekaisin menee.
Joten saisinko rautalangasta väännettynä, miten nuo sisäkkäiset jossin ja phaut menevät.
Hieman tuli ongelmia jossien ja phakujen kanssa.
Käytössä on työkirjat hinnasto ja tilaus.
hinnasto:
tuotekoodi, tuote, hinta1 (sarake 3, hinta2 (sarake 4), hinta3 (sarake 5)
op;omena;12;10;23
pä;päärynä;;0;11
tilaus:
tuotekoodi, tuote, määrä, a-hinta, alennus, hinnastonro
op;omena;3; funktio; 4; arvo haettu toisella koodilla
Nyt pitäisi saada a-hinta siten, että jos koodi puuttuu hinnastosta, tulee ilmoitus "koodi puuttuu", ja jos hinnan kohdalla on tyhjä (0 on jo hinta), niin tulee ilmoitus "hinta puuttuu". Hinnastonro ilmoittaa, mistä sarakkeesta hinnastoa hinta haetaan.
Toisessa tapauksessa pitää ottaa huomioon myös alennus. Jos alennus on 4, niin muiden ehtojen lisäksi hinta haetaankin sarakkeesta 4.
Läksin ratkaisemaan ongelmaa systeemillä:
JOS(onvirhe(jos(A2;(phaku(A2;'[hinnasto]taul1'!$A:$E; mitähän tähän tulee;epätosi)); jne, mutta sekaisin menee.
Joten saisinko rautalangasta väännettynä, miten nuo sisäkkäiset jossin ja phaut menevät.
Vastaukset 5
Vanhimmat
=JOS(ONVIRHE(VASTINE(A2;'[hinnasto]taul1'!$A:$E;0));"Koodi puuttuu";JOS(PHAKU(A2;'[hinnasto]taul1'!$A:$E;JOS(E2=4;4;3);0)="";"Hinta puuttuu";PHAKU(A2;'[hinnasto]taul1'!$A:$E;JOS(E2=4;4;3);0)))
Tuo ei toiminut, vaan antoi virheilmoituksia.
Terve
Vähän saman ongelman kanssa minäkin painin, mutta taitaapi olla vähän monimutkaisempi juttu kuitenkin. Eli hinnastonro pitäisi hakea sen perusteella, että mikä tieto sarakenumero on annettu perustiedot-lomakkeella ja lisäksi, jos siirtotiedosto-työkirjalla laji on p ja Ltila on 4, niin siinä tapauksessa ei käytetäkään saraketta 3 vaan pitääkin tulla sarake 4. Ja tietysti tarkastelu, että jos TilYks puuttuu, niin siitä virheilmoitus. Perustiedoissa määritellään käsin hinnastonro, mutta siirtotiedostossa ltilan ollessa 4 sitä on pakko muuttaa ja sitä ei voi tietää etukäteen eli on dynaamista tietoa.
Lisäksi a-hinta pitäisi saada haettua hinnasto-työkirjasta perustuen hinnastonro:oon ja tutk:een. Ja tietenkin virhetarkastelu, jos tutkimus puuttuu tai jos hinnastossa ei hinnan kohdalla lue mitään (0 tarkoittaa että asia ok, ei mene maksua).
Tällaisten ehtojen vääntäminen kävi ylivoimaiseksi, joten joku guru näyttököön, miten homma hoidetaan. Vai tuliko liian vaikea?
työkirja: siirtotiedosto
kk; Tutk; Nimi; TilYks; Selite; Määrä; Kuntanimi; Ltila; A-hinta; yht.; hinnastonro; laji
1; EB1HA; OPG; hahu; Hammash; 32; KAUHAVA; 4; ; ; 3; p
1; EB1HA; OPG; hahu; Hammash;1 ; ILMAJOKI; 3; ; ; 3; p
1; DM1QA; Ktm; HALTO; Hallintot; 1; LAMMI; 3; ; ; 5; m
1; DM1QA; Ktm; HALTO; Hallintot; 3; KAUHAVA; 4; ; ; 5;m
Tällä hetkellä saan hinnastonro:n haettua kaavalla
totuustesti JOS(ONVIRHE(PHAKU(D16; [perustiedotMyydytJaOmat.xls]tilaavat_yksiköt!$A$4:$D$83;3;EPÄTOSI)))
arvo_jos_tosi TIL YKS. PUUTTUU
arvo_jos_epätosi PHAKU(D16;[perustiedotMyydytJaOmat.xls]tilaavat_yksiköt!$A$4:$D$83;3;EPÄTOSI)
työkirja: radiologian hinnasto.xls
tutkimus; nimi; ta hinta; h_laus_kans; yks h; erik_hinta; ulkop_hinta
DM1QA; Ktm; 42,00; 57,00; 70,00; 47,25; 52,25
EB1HA; OPG; 42,00; 57,00; 70,00; 42,00; 47,00
työkirja: perustiedotOmatjaMyydyt.xls
TilYks; Selite; hinnastonro; laji
hahu; Hammash; 3; p
HALTO;Hallintot; 5; m
=JOS(ONVIRHE(PHAKU(D16;[perustiedotMyydytJaOmat.xls]tilaavat_yksiköt!$A$4:$D$83;3;EPÄTOSI));"Virhe";JOS(JA(H2=16;L2="p");4;PHAKU(D16;[perustiedotMyydytJaOmat.xls]tilaavat_yksiköt!$A$4:$D$83;3;EPÄTOSI)))
=JOS(ONVIRHE(PHAKU(B16;[radiologian hinnasto.xls]!taul1!$A$2:G$13;K16;EPÄTOSI));"Virhe";JOS(PHAKU(B16;[radiologian hinnasto.xls]!taul1!$A$2:G$13;K16;EPÄTOSI)="";"Hinta puuttuu";PHAKU(B16;[radiologian hinnasto.xls]!taul1!$A$2:G$13;K16;EPÄTOSI)))
tämä toimi ainakin minulla
=IF(ISERROR(MATCH(A2;hinnasto!A:A;0));"Koodi puuttuu";IF(VLOOKUP(A2;hinnasto!A2:E3;F2 2;0)="";"hinta puuttuu";VLOOKUP(A2;hinnasto!A2:E3;IF(E2"";4;F2 2))))
=JOS(ONVIRHE(VASTINE(A2;hinnasto!A:A;0));"Koodi puuttuu";JOS(PHAKU(A2;hinnasto!A2:E3;F2 2;0)="";"hinta puuttuu";PHAKU(A2;hinnasto!A2:E3;JOS(E2"";4;F2 2))))