Izpis iz dveh celic na levi

Pomoč pri delu z MS Excelom
Odgovori
josephe
Prispevkov: 7
Pridružen: Če Jul 08, 2010 11:29 am

Izpis iz dveh celic na levi

Odgovor Napisal/-a josephe »

Lep pozdrav,

prosil bi za pomoč. Gre se za tabelo cen izdelkov. torej tabela naj bi izgledala tako vendar mi nikakor ne use.

Fruktal/frutek/2,10/Kolinska/Cocta/1,35/mercator/fruc/1,50/spar/cocacola/2,15/


Vsak / predstavlja nov stolpec. To bi sedaj rad da se mi v isti vrstici izpiše v ločenih stolpcih izpiše ponudnika najcenejšega produkta, ponujeni produkt in najnižjo ceno. Za najnižjo ceno znam z funkcijo MIN, vendar da bi izpiralo še dva stolpca na levi, da bi se vedelo kdo to ponuja in kater produkt je pa nikakor.
Torej da bi na koncu zgledalo tako :

Fruktal/frutek/2,10/Kolinska/Cocta/1,35/mercator/fruc/1,50/spar/cocacola/2,15//Kolinska/Cocta/1,35

Za odgovore se zahvaljujem.

LP
cedra
Prispevkov: 264
Pridružen: Po Jul 25, 2005 11:11 pm
Kraj: Kamnik

Re: Izpis iz dveh celic na levi

Odgovor Napisal/-a cedra »

Mislim, da ste se zadeve lotili malce čudno. S tem mislim na to, da imate vse podatke vodoravno pomešano.
Morali bi se stvari lototi tako, da bi imeli dobavitelja v enem stolpcu, artikel v drugem in ceno v tretjem. Potem bi bilo vse rešljivo z funkcijami. Tako pa tole ne vem, če je rešljivo brez makra.
Prilagam vam sicer makro, ki reši vaš problem, ampak le za primer, kakršnega ste napisali vi...

Koda: Izberi vse

Sub naj_naj_ponudnik()
Dim i, j As Integer
i = WorksheetFunction.CountA(Range("A:A"))
j = WorksheetFunction.CountA(Range("1:1"))
y = 0

For x = 1 To i
    y = y + 1
        For z = 1 To j
            If Cells(y, z) = WorksheetFunction.Min(Range("A" & y & ":" & "L" & y)) Then
            Cells(y, 13) = Cells(y, z)
            Cells(y, 14) = Cells(y, z).Offset(0, -2)
            Cells(y, 15) = Cells(y, z).Offset(0, -1)
                Exit For
            End If
        Next z
Next x

End Sub
Pa še veliko bolje bi bilo. če bi bil najboljši ponudnik, artikel in cena, v prvih treh stolpcih. Ampak rešitev je prilagojena vaši želji za skoraj neomejeno št. vrstic > 32.000
Upam, da sem vam vseeno pomagal :D
lp,

cedra
cedra
Prispevkov: 264
Pridružen: Po Jul 25, 2005 11:11 pm
Kraj: Kamnik

Re: Izpis iz dveh celic na levi

Odgovor Napisal/-a cedra »

Zadeva mi ni dala miru in našel sem še možnost, da je rešitev mogoča tudi s funkcijami. Rešitev pa je sledeča...
Vaši podatki so od A1:L1.
V celico M1 vpišite sledečo formulo in dobili boste naj naj dobavitelja:

Koda: Izberi vse

=IF(C1=MIN(A1:L1);OFFSET(C1;0;-2);IF(F1=MIN(A1:L1);OFFSET(F1;0;-2);IF(I1=MIN(A1:L1);OFFSET(I1;0;-2);IF(L1=MIN(A1:L1);OFFSET(L1;0;-2)))))
V celico N1 vpišite sledečo formulo in dobili boste dobaviteljev izdelek:

Koda: Izberi vse

=IF(C1=MIN(C1:L1);OFFSET(C1;0;-1);IF(F1=MIN(C1:L1);OFFSET(F1;0;-1);IF(I1=MIN(C1:L1);OFFSET(I1;0;-1);IF(L1=MIN(C1:L1);OFFSET(L1;0;-1)))))
sedaj pa še ceno v O1:

Koda: Izberi vse

=IF(C1=MIN(A1:L1);C1;IF(F1=MIN(A1:L1);F1;IF(I1=MIN(A1:L1);I1;IF(L1=MIN(A1:L1);L1))))
Na ta način je možno gnezditi 7 funkcij, torej še 3...
Seveda sedaj kopirajte formule navzdol po potrebi!
Torej ni vrag, da nekaj ne bo uporabno :lol: :roll:
lp,

cedra
josephe
Prispevkov: 7
Pridružen: Če Jul 08, 2010 11:29 am

Re: Izpis iz dveh celic na levi

Odgovor Napisal/-a josephe »

Rešeno.

Hvala
Odgovori