Kun excelissä on tuoterakenne, jossa on tuotenumero, ja tämä tuote pitää sisällää useita tuotteita. Nämä ovat kahdessa sarakkeessa, ja järjestelmä antaa jokaisen rakenneosan eteen myös tuotenumeron, eli näin:
11 12
11 13
11 14
22 23
22 24
22 25
Jossa siis tuotenumero on 11, ja se sisältää osat 12, 13 ja 14. Seuraava tuotenumero on 22, joka sisältää osat 23, 24 ja 25.
Nyt tämä tuhansien rivien setti pitäisi saada muotoon, että tuotenumero esiintyy vain kerran ja sen perässä siihen liittyvät osat, eli
11 12 13 14
Jokainen omassa sarakkeessa. Millä ihmeen kaavalla tämä onnistuisi?? Auttakaa gurut neitoa hädässä.
Tuoterakennekaava...tuskaa
6
498
Vastaukset
- Nimimerkki
Siis tuo lista on taulukko Osista, jos sinulla ei ole erikseen taulukkoa Tuotteista, siis jokainen tuote vain kerran, niin tehe sellainen vaikka "Erikoissuodatuksella", ja vain ainutkertaiset tietueet. laita nämä tuotteet omalle taulukolle ja osat omalle taulukolle, näin on myös parempi jatkossa niin voit ideoida enemmän uusia ominaisuuksia myöhemmin( suodatus, lisää tuote, lisää osa, listaa tuote, listaa vain tuotteen osat jne....)
http://office.microsoft.com/fi-fi/excel/HP030734251035.aspx?pid=CH062527971035
Uusi taulukko (tästä eteen päin sheet2)
Valitse uudesta taulukosta solu mihin haluat tuotteet
Valitse Tiedot-valikosta Suodata ja valitse sitten Erikoissuodatus.
Merkka alue sarakkeesta jossa on tuotteen numerot (valitse myös otsikko mukaan)
valitse Kopioi toiseen paikkaan. Kirjoita sitten soluviittaus Kopioi-ruutuun.
Valitse Vain ainutkertaiset tietueet -valintaruutu.
Nyt kun sinulla on lista Tuotteista, vain yksi ilmentymä per tuote, voi laittaa kaavan ( oletuksena nyt A-Sarake), laita B-sarakkeeseen seuraava kaava:
=IF($A7INDEX(Sheet1!$B:$C;MATCH($A7;Sheet1!$B:$B;0) COLUMN()-COLUMN($B:$B);1);"";INDEX(Sheet1!$B:$C;MATCH($A7;Sheet1!$B:$B;0) COLUMN()-COLUMN($B:$B);2))
Laitoin tuohon kaavaan dollari merkit jotta voit kopioida kaavan sekä alas että sivulle tarpeen mukaan.
jos haluat voin selittää myöhemmin kun kerkeän mitä tuossa kaavasssa on, testasin tuon pienellä testi taulukolla ja toimi ainakin minulla- Nimimerkki
siis kaavassa noi Osat ovat taulukossa "Sheet1", tuossa taulukossa tuote numerot sarakkeessa B ja osanumerot sarakkeessa C
katso miten sinulla on, ja muuta tarpeen mukaan
voisi tietenkin nimetä noi sarakkeet ja käyttää tuota nimeä kaavassa, mutta sehän onkin sitten toinen juttu - Nimimerkki
edellinen kaava nimiä käyttäen:
=IF($A7INDEX(Sheet1!$B:$C;MATCH($A7;Sheet1!$B:$B;0) COLUMN()-COLUMN($B:$B);1);"";INDEX(Sheet1!$B:$C;MATCH($A7;Sheet1!$B:$B;0) COLUMN()-COLUMN($B:$B);2))
muotoon
=IF($A7INDEX(osatTuotteenNroJaOsanNro;MATCH($A7;osatTuotteenNro;0) COLUMN()-COLUMN(tuotteetEkanOsanSarake);1);"";INDEX(osatTuotteenNroJaOsanNro;MATCH($A7;osatTuotteenNro;0) COLUMN()-COLUMN(tuotteetEkanOsanSarake);2))
Jossa
osatTuotteenNroJaOsanNro = taulukko jossa osat ja sarakkeet jossa on tuotteen numerot ja osien nro ( eli olisiko sarakkeet A ja B)
osatTuotteenNro = taulukko jossa osat ja sarake jossa on tuotteen nro ( olisiko sarake A)
tuotteetEkanOsanSarake = taulukko jossa on tuotteet ja sarake johon laitat ekan osan numeron ( olisiko sarake B tai C ) - Sanneliini
Nimimerkki kirjoitti:
edellinen kaava nimiä käyttäen:
=IF($A7INDEX(Sheet1!$B:$C;MATCH($A7;Sheet1!$B:$B;0) COLUMN()-COLUMN($B:$B);1);"";INDEX(Sheet1!$B:$C;MATCH($A7;Sheet1!$B:$B;0) COLUMN()-COLUMN($B:$B);2))
muotoon
=IF($A7INDEX(osatTuotteenNroJaOsanNro;MATCH($A7;osatTuotteenNro;0) COLUMN()-COLUMN(tuotteetEkanOsanSarake);1);"";INDEX(osatTuotteenNroJaOsanNro;MATCH($A7;osatTuotteenNro;0) COLUMN()-COLUMN(tuotteetEkanOsanSarake);2))
Jossa
osatTuotteenNroJaOsanNro = taulukko jossa osat ja sarakkeet jossa on tuotteen numerot ja osien nro ( eli olisiko sarakkeet A ja B)
osatTuotteenNro = taulukko jossa osat ja sarake jossa on tuotteen nro ( olisiko sarake A)
tuotteetEkanOsanSarake = taulukko jossa on tuotteet ja sarake johon laitat ekan osan numeron ( olisiko sarake B tai C )Heips ja kiitos vinkeistä. Alan tänään työstämään exceliä että josko se siitä oikenisi :-)
tekee just sen mitä pyytelet
moduuliin...
Sub KopioiPoista()
Dim vika As Integer
Dim vika2 As Integer
Dim vika3 As Integer
Dim i As Integer
On Error Resume Next
vika = Range("A65536").End(xlUp).Row
For i = vika To 1 Step -1
If i = 1 Then Exit Sub
If Range("A" & i) = Range("A" & i).Offset(-1, 0) Then
vika2 = Range("A" & i).End(xlToRight).Column
vika3 = Range("A" & i).Offset(-1, 0).End(xlToRight).Column
Range("B" & i).Resize(1, vika2 - 1).Copy Destination:=Range("A" & i).Offset(-1, vika3)
Range("A" & i).EntireRow.Delete
End If
Next
End Sub- Nimimerkki
Älä käytä tätä ellei sinulla ole muita tietoja kun nuo tuote nro ja osien nro.
jos sinulla on esim muita tietoja per osa ( mitat, koko, hinta, varasto, kuvia, jne...) joudut kuseen tuon kanssa. ja jos myöhemmin haluat lisää tietoja per osat joudut taas hajoittaan taulukon osiin. jos haluat muita tietoja osille käytä omaa taulukkoa tuotteille ja omaa taulukkoa osille.
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
Anteeksi mies
En vaan osaa kohdata sinua ja olla normaali. En tiedä mikä vaivaa. Samaan aikaan tekee mieli tulla lähelle ja kuitenkin6212168Mietin aina vain
Minä niin haluaisin nähdä sinut. Ei tuo yhden ainoan kuvan katsominen paljon helpota... Miksi sinä et voisi olla se roh175181Hetken jo luulin, että en ikävöi sinua koko aikaa
Mutta nyt on sitten taas ihan hirveä ikävä jotenkin. Tiedätköhän sinä edes, kuinka peruuttamattomasti minä olen sinuun r344738Outoa että Trump ekana sanoutui irti ilmastosopimuksesta
kun Kaliforniaa riepottelee siitä johtuvat tuhoisat maastopalot. Hirmumyrskytkin ovat USA:ssa olleet tuhoisia.4712381Palstan henkisesti sairaat ja lihavat
Täällä on sairaita, työttömiä ihmisiä kirjoittelemassa joilla ei ole tarkoituksena kuin satuttaa ihmisiä. Jos eksyt pals1142250Saan kengurakkaan kotiin viikon päästä
Mitä tapahtui? Martina hehkutti tätä stoorissaan reilu viikko sitten, mutta eipä aussimiestä Suomessa näkynyt, vaan tapa2931823FinFamin ryhmät
Älkää hyvät ihmiset luottako tähän tahoon. Ryhmiä on, mutta eivät ne toimi. Ihmisiä savustetaan ulos, vaikka näissä piir01481Osmo Peltola voitti ansaitusti Kultaisen Venlan - Kirvoitti yleisöltä mahtavan reaktion!
JEE, onnea Osmo! Osmo Peltola voitti Vuoden esiintyjän Kultainen Venla -palkinnon. Isä-Peltsin ja Osmon luontoseikkailu941328- 391236
Olen vähän
Hysteerinen se on totta. Etkai ymmärrä miten syvästi tunnen sinua kohtaan. Ja olet aina lähelläni. Olet osa jo jotain. I101215