Siis,
On kaksi työkirjaa...
Niiden vertaaminen ja uuden työkirjan luominen niistä tiedoista joita ei toisesta verrattavasta työkirjasta löydy.
Kiitos taas jo etukäteen
On kaksi työkirjaa...
Niiden vertaaminen ja uuden työkirjan luominen niistä tiedoista joita ei toisesta verrattavasta työkirjasta löydy.
Kiitos taas jo etukäteen
Vastaukset 8
Vanhimmat
jos kerrot mitä pitää etsiä ja miten tieto on esitetty niissä.
Aivan,
A- sarakkeessa on tilausnumero jonka perässä (sarakkeissa) on tietoja jotka kaikki täytyy siirtää(numeroita ja kirjaimia)ja verrata.
siis verrata useampaa tietoa kuin pelkästään tilausnumeroa?
Verrataan tilausnumeroita ja luodaan kuitenkin kaikista tiedoista, mikäli tilausnumero on toisessa, mutta ei toisessa.
Lisää ao. kaava uuden työkirjan A1 - soluun:
=IF(ISERROR(VLOOKUP(HAKUARVO;ALUE;1;0));SOLU;"")
Jos käytät suomenkielistä Exceliä:
=JOS(ONVIRHE(PHAKU(HAKUARVO;ALUE;1;0));SOLU;"")
Käytän tässä esimerkissä työkirjoista nimitystä kirja1.xls (josta
tiedot siirretään) ja kirja2.xls (joista arvoa haetaan).
Muuta kaavassa olevat kohdat seuraavasti:
HAKUARVO - kirja1.xls, solu jossa on tilausnumero.
ALUE - Hakualue kirja2.xls työkirjassa. Valitse koko alue eli koko tilausnumerosarake (esim. A1:A100).
SOLU - kirja1.xls, solun josta tieto tuodaan A1
Kun olet korjannut kaavan, lukitse vielä HAKUARVOn sarake, muokkaamalla kaavaa ja painamalla F4 HAKUARVON päällä kunnes A1 -> $A1.
Tämän jälkeen kopioi kaava vetämällä solun oikeasta alanurkasta niin moneen sarakkeeseen kuin tietoja on kirja1.xls:ssä.
Kopioi kaavaa lisäksi alaspäin, niin monelle riville kuin tietoja on kirja1.xls:ssä, vetämällä solun oikeasta alanurkasta rivin ollessa valittuna.
Kaavat tulevat siis uuteen työkirjaan näin: (data kirja1.xls:A1:E100 ja kirja2.xls:A1:E100)
A1:
=IF(ISERROR(VLOOKUP([kirja1.xls]Taul1!A1;[kirja2.xls]Taul1!A1:A100;1;0));[kirja1.xls]Taul1!A1;"")
B1:
=IF(ISERROR(VLOOKUP([kirja1.xls]Taul1!A1;[kirja2.xls]Taul1!A1:A100;1;0));[kirja1.xls]Taul1!B1;"")
C1:
=IF(ISERROR(VLOOKUP([kirja1.xls]Taul1!A1;[kirja2.xls]Taul1!A1:A100;1;0));[kirja1.xls]Taul1!C1;"")
A2:
=IF(ISERROR(VLOOKUP([kirja1.xls]Taul1!A1;[kirja2.xls]Taul1!A1:A100;1;0));[kirja1.xls]Taul1!A2;"")
B2:
=IF(ISERROR(VLOOKUP([kirja1.xls]Taul1!A1;[kirja2.xls]Taul1!A1:A100;1;0));[kirja1.xls]Taul1!B2;"")
Uudessa työkirjassa on nyt ne tiedot kirja1.xls:stä, joita ei löydy kirja2.xls:stä.
Jeps,
Tuo toimii!
Mites sitten jos verrataan kahdesta työkirjasta kahta tietoa?
Eli,
- A-sarakkeita(tilaus nro) ja
- B sarakkeita(tuote nro)
Jos A-sarakkeesta löytyy "uusia" tietoja ne otetaan huomioon kuten aiemmastikin. Mutta jos A-sarakkeessa on vanhaa tietoa, mutta B-sarakkeessa on uutta tietoa otetaan nekin siihen uuteen taulukkoon...
Sekavaa, mutta totta...
joissakin tapauksissa voi käyttää ns. indeksi saraketta. Lisätään uusi sarake (A) molempiin tauluihin, ennen tilausnumero saraketta. Tähän kootaan tilausnumero ja vaikka tuotenro (esim. =B1&C1).
Lisäksi muutetaan ed. olevia kaavoja niin, että haussa käytetäänkin indeksisarakkeessa olevaa tietoa. Näin ollen, jos molemmista tauluista löytyy sama tilausnro mutta tuotenro on eri, tuodaan tiedot 1. taulusta.
Sitä, kumpi tiedoista on uudempi, ei tietenkään pysty tällä tavalla ratkaisemaan vaan tauluissa täytyy silloin olla myös päivämäärätieto ja se täytyy ottaa mukaan hakuun.
Kiitos vinkeistä, nyt toimii niinkuin pitäiskin.