Táblázatok összehasonlítása milyen függvénnyel?

Táblázatkezelő
Szati
Hozzászólások: 1
Csatlakozott: 2011. december 16., péntek 20:53

Táblázatok összehasonlítása milyen függvénnyel?

Hozzászólás Szerző: Szati »

Segítséget szeretnék kérni a következő problémában:

Egy terméklistában kellene lekövetni a változásokat, napról napra. A feladat lényege az lenne, hogy ha egy sorban akár egy karakter is különbözik az előző változatban lévőtől, akkor az egész sort ki kellene listázni. Az már csak hab lenne a tortán, ha a változást tartalmazó cella háttere kiemelt színű lenne...

Milyen függvénnyel tudom ezt megoldani? Mert nem találom. :crazy:

Mellékelek egy minta file-t is.
Segítségeteket előre is köszönöm.
Csatolmányok
táblázatok különbségképzése -hogyan.ods
(14.04 KiB) Letöltve 225 alkalommal.
OpenOffice 3.2.1
Avatar
Zizi64
Globális moderátorok
Hozzászólások: 4084
Csatlakozott: 2008. november 12., szerda 21:22
Tartózkodási hely: Budapest

Re: Táblázatok összehasonlítása milyen függvénnyel?

Hozzászólás Szerző: Zizi64 »

Az igazán egzakt megoldáshoz ismerni kellene az adataid valódi elhelyezkedését. Gondolom, nem a mellékelt fájlban látható módon - egy fájlban, egy munkalapon, egymás mellett, két bekeretezett táblában - találhatók az adataid.

1. Ha ezt a feladatot valóban azonos sor és oszlopszámú táblarészeken kell elvégezni, (és mindenképpen táblázatkezelő programmal és nem adatbázisként), akkor a "Feltételes formázás" segíthet ebben. (Ha az adott pozícióban lévő két cella értéke azonos, akkor alapértelmezett cellastílust alkalmazol, ha viszont eltér, akkor az általad kiemelőszínnel létrehozott új cellastílust "kényszeríted rá" az újabb adat cellájára a "Feltételes formázás" funkció segítségével.)

2. Cellába írt képlet csakis egy segédtábla alakjában jöhet szóba, hiszen a cellákat maguk az adatok foglalják el. Ez esetben a HA() feltételvizsgálat és a logikai függvények (És(), VAGY()...) segítségével kell a két összehasonlítandó sor celláit komparálnod.

Egyik megoldás sem készít olyasféle "kigyűjtést", ahogy te az eredményt ábrázoltad, csak jelzi az eltérést.
Sok sikert!
Kovács Tibor (W10x64Pro/W7x64P: 7.5.8;
winPenPack/PortableApps: LO3.3.1-7.6.2, AOO4.1.14
Ha megoldódott a probléma, jelöld a témaindító hozzászólásod címének szerkesztésével. Írd elé: [Megoldva].
Motorszaki
Hozzászólások: 4
Csatlakozott: 2011. június 17., péntek 20:24

Re: Táblázatok összehasonlítása milyen függvénnyel?

Hozzászólás Szerző: Motorszaki »

Laikusként számomra a termékkódtól érthetetlen:
- A forrcsőívnél miért azonos a fekete és a horganyzott kódja? Nem kellene új (sarj) kódot megadni?
- És a cső hogy van, most a szálban nyilvántartott 3,05 fm vagy 3,5 fm?

A kivitelező furcsán fog nézni, ha nem az a tulajdonságú/jellemzőjű motyót kapja azon a kódon - mint a 3 nappal korábban Tőled kapott listán szerepel (főleg ha rosszabb tulajdonságú)...

De gondolom azért kell kigyűjtened, hogy máshol is tudd módosítani a változást - és napi több száz tételt szállítana be hozzád.

Ebben az esetben lehet, hogy inkább valami makróra lenne szükséged, ami sorba rendezné a sorokat mind a két munkalapon - elsődleges, másodlagos... szempont szerint. Hogy utána oszlop szerint összehasonlítsa a cellákat. És ahol eltérés van - a "Munkalap2" -ről másolja át a sort "Munkalap3"-ra...
Így tudod módosítani az eltérő cella hátterét a .CellBackColor = RGB (255, 255, 0) utasítással is...
De csak találgatok hogy mit szeretnél.

Lehet hogy valami hasonló utasítás sorozatot kell írnod:
...
for i=1 to 1048576 '1048576
sor=sor+1
oLap1_A = doc.Sheets(0).getCellByPosition (0,sor).string
oLap2_A = doc.Sheets(1). getCellByPosition (0,0).string
jellemzo1=doc.Sheets(0). getCellByPosition (2,sor).string
jellemzo2=doc.Sheets(1). getCellByPosition (2,0).string

If doc.Sheets(0).getCellByPosition (3,sor).value>0 Then 'Ha nullánál nagyobb értéket tartalmaz

If oLap1_A<>oLap2_A Then
Betesz 'Már termékkód nem egyezik, a sort másolja

else If jellemzo1<>jellemzo2 Then ' Termékkód egyezik de a jellemző nem egyezik
Betesz 'A sort másolja

else fogyas1=doc.Sheets(0).getCellByPosition (3,sor).value 'Csak az eladott menyiséget kell hozzáadnia a Munkalap2 sorhoz
fogyas2=doc.Sheets(1).getCellByPosition (3,0).value
doc.Sheets(1).getCellByPosition (3,0).value=fogyas2+fogyas1

end if
end if
else Vege ' Statisztika kiíratása
Exit Sub 'A "D" oszlop adott cellája kisebb vagy egyenlő nullával vagy nem szám... Kilépés
end if

next i
...
OpenOffice 3.2 a Windows XP-n
Válasz küldése