Ongelma: On kaksi eri pituista osoitelistaa excelissä, lista A ja lista B. Listaan A sisältyvät myös kaikki ne osoitteet, jotka ovat listassa B (eli lista B on osa listasta A). Nyt tarvitsisi selvittää ne osoitteet, jotka eivät ole listalla B, ja tehdä niistä lista C. Miten onnistuu? Kyse ei siis ole duplikaattien poistosta, ja osoite on säpö, joten kaikki tiedot voidaan laittaa samaan taulukkoon eri sarakkeisiin.
Miten saadaan osoitelistoja verrattua excelissä?
H1ppu
11395
0Äänestä
Muut lukivat myös
Odottaa vastausta
Näihin keskusteluihin ei ole vielä vastattu. Ole ensimmäinen.
Vastaukset 11
Vanhimmat
Sub Puuttuvat()
Dim r1, r2, r3 As Integer
Dim haettava As String
Dim löytyi As Boolean
r1 = 1
r3 = 0
Do
haettava = Cells(r1, 1)
r2 = 0
Do
r2 = r2 1
löytyi = Cells(r2, 2) = haettava
If löytyi Then Exit Do
Loop Until Cells(r2 1, 2) = ""
If Not löytyi Then
r3 = r3 1
Cells(r3, 3) = haettava
End If
r1 = r1 1
Loop Until Cells(r1, 1) = ""
End Sub
Kiitos, ja auts, en ole noin pro =) Koitan askarrella tuon kuitenkin. Osaisiko joku antaa ohjeet rautalankaversiona?
Paina Alt F11
- Aukeaa VBA-editori. Sieltä:
Insert – Module
- Kopioi yllä oleva makro tähän Moduliin
Makro suoritetaan Excelistä esim.
Paina Alt F8
- Valitse makro listalta ja paina Run
Kiitos, onnistui!!
Tätäkin voi kokeilla: http://i.imgur.com/JsLs5hA.png
Kokeilin, mutten saanut toimimaan. Missähän voisi olla vika? C-sarakkeessa on seuraava kaava, muttei palauta yhtään arvoa, tulee pelkkää tyhjää C-sarakkeeseen:
=IF(ISNA(VLOOKUP(A1;$B$1:$B$10;1;0))=1;A1;"")
C-sarakkeen tyhjä solu tarkoittaa sitä että A1 solussa oleva arvo löytyy joltakin riviltä B-sarakkeen soluista.
=JOS(ONPUUTTUU(PHAKU(A1;$B$1:$B$5;1;0))=1;A1;"")
ja käänteisenä näin
=JOS(ONPUUTTUU(PHAKU(A1;$B$1:$B$5;1;0))=0;A1;"")
Jep, mutta c-sarakkeeseen ei palaudu mitään, oli a-sarakkeen arvo b:ssä tai ei. Koitin toistaa myös leikkeessä olleilla luvuilla, jotta tulisi ihan samoin (paitsi mun excel on englanniksi), muttei onnistunut. Kumma. Makrolla sain toimimaan, mutta tämänkin tavan haluaisin oppia.
Hitto, excelissä tuo meneekin näin:
=JOS(ONPUUTTUU(PHAKU(A1;$B$1:$B$10;1;0));A1;"")
Yksi mahdollisuus.
C1=IF(COUNTIF(B:B; A1)=0; A1; "")
Kiitos! Tämäkin toimii! :)