Keresés

Részletes keresés

Törölt nick Creative Commons License 2007.02.09 0 0 5025
Elküldtem újból a freemailes címre.
Előzmény: terra700 (5024)
terra700 Creative Commons License 2007.02.09 0 0 5024

Szia DJ Carlos!

 

A mailt nem kaptam meg....

Előzmény: Törölt nick (5020)
wawabagus Creative Commons License 2007.02.08 0 0 5023

Köszi mindenkiek a tanácsokat :-)!

 

Azt hiszem még sokat fogok erre járni :-)!

yo

k-betti Creative Commons License 2007.02.08 0 0 5022
Kincs ez a tábla!
Előzmény: Törölt nick (5021)
Törölt nick Creative Commons License 2007.02.08 0 0 5021
http://www.freeweb.hu/nerobol/Files/Excel_2003_Functions_(onlinehelp).xls

francia-angol-német-magyar "függvényszótár"
Előzmény: wawabagus (5018)
Törölt nick Creative Commons License 2007.02.08 0 0 5020
Küldtem egy mailt.  Azt vettem észre, hogy az Osszegzo függvénynek nem az utolsó változatából indultam ki.
Előzmény: terra700 (5016)
Törölt nick Creative Commons License 2007.02.08 0 0 5019
Az f mint függőleges, v mint vízszintes az fkeresben, vkeresben, franciául bizonyára ugyanez a logika... angolul meg vlookup, hlookup
Előzmény: wawabagus (5018)
wawabagus Creative Commons License 2007.02.08 0 0 5018

:-). Köszi!

Nekem ezt a funkciót Franciaországban mutatták francia excelen, ahol pont fordítva a fkeres kezdődött v-vel :-(...jáj ez az excel...

kikészülök tőle :-DDD

de köszi a segítséget!!!!!!!!!!!!!!!!!!!!!!!

Előzmény: k-betti (5017)
k-betti Creative Commons License 2007.02.08 0 0 5017
Örülök, hogy segíthettem.

FKERES (függőlegesen keres)
VKERES (vízszintesen keres)

Kimásoltam az Excel súgójából egy részletet:

A VKERES függvény használata azokban az esetekben lehet hasznos, amikor az összehasonlítandó értékek a tömb felső sorában helyezkednek el és egy adott sorban lévő értéket szeretnénk megtudni. Az FKERES függvényt ezzel szemben akkor érdemes használni, amikor az összehasonlítandó értékek a tömb jobb vagy bal oldalán levő oszlopban helyezkednek el és egy adott oszlopbeli értéket szeretnénk megtudni.
Előzmény: wawabagus (5015)
terra700 Creative Commons License 2007.02.08 0 0 5016

Köszönöm a gyors megoldást, de szerintem van vele vmi.

 

Az alábbi példával szemléltetve, mely a valódi táblázatból van.

 

2 soros adatcellák, a benne lévő számokat kellene átlagolnia.

 

                      GHI                     JKL                MNO    PQR    STU   VWX   YZAA   ABACAD

         (egyesített cella)  (egyesített cella)      (...)      (...)     (...)    (...)     (...)       (...)

39. sor          üres                     üres               üres     üres    53     58       32        45

40. sor           39                       39                  45        40      50     44      üres      üres

 

Eszerint a példa szerint a gépnek 45,8 az eredmény.

 

A számológép szerint pedig 44,5.

 

És amióta 2. modulként az Osszegzo függvény mellé betettem, az Excel gyakran kilép magától.

 

Köszönöm

 

Előzmény: Törölt nick (5011)
wawabagus Creative Commons License 2007.02.08 0 0 5015

Te egy zseni vagy! Ezer köszönet!!!!!!!!!

Végre...

Most vettem észre, hogy fkeres helyett vkerest használtam.

És innentől már minden működik.

De mi a különbség a fkeres és vferes között?

Nagyon köszönöm!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

 

 

Előzmény: k-betti (5013)
wawabagus Creative Commons License 2007.02.08 0 0 5014

Te vagy az én emberem :-))))))))))!

Egyszerüsítsük le.

 

A két file neve

1file

2file

 

mindekettőben 10 sornyi adat.

 

Mindkét fileban az első oszlop az azonosító.

 

 

1file                           2file

A    B                         A   B

1                               1   dfvd
2                               2   efw

3                               3   wfw

4                               4   wdf

5                               5   wec

6                               6   xwe

7                               7   qwd

8                               8   wd

9                               9   wf

10                             10 wf

 

A feladat, hogy a 2file B oszlopa kerüljön át az 1file B oszlopába

Tehát:

 

=FKERES(A1;'[2file.xls]Munka1'!$A$1:$B$10;2;HAMIS)

 

de ez így nem jó, de miért?

 

Előzmény: k-betti (5013)
k-betti Creative Commons License 2007.02.08 0 0 5013
Próbáld ki ezt:

=FKERES(A1;'[TAF Etats stats développement par famille octobre 2006.xls]Munka1'!$A$1:$IC$4;237;HAMIS)


Előzmény: wawabagus (5012)
wawabagus Creative Commons License 2007.02.08 0 0 5012

Kérlek segítsetek!

Két file-t szeretnék összekötni és az egyikből áttenni egy oszlopot az azonosító szerint. jó, megvan ez a vkeres, de nem tudom mit kezdjek vele.

 

 

Tehat van 2 db excel fileom:

1file: 200610-TAFFDVCAOctobre

2file: TAF Etats stats développement par famille octobre 2006

 

A 2file 237-ik oszlopában (IC) van olyan információ, amit én szeretnék átmásolni az 1file 11. oszlopába (K)...minden egyes sorszámnál szeretném ezt az infót bevinni. Első oszlop mindkét file-nál azonosító sorbatéve...

 

Amiket be kell írni a vkeresnél:

 

keresési_érték: (amit keresek?...tehat ráklikkelek a 2file. 237. oszlopának az első cellájára?, vagy csak beírom, hogy 237?) 

 

Tábla: (oké itt kijelölöm azt a táblát, amiből szeretném az értéket áttenni, tehát 2file)

 

Sor_szám: (ráklikkelek az első oszlop első cellájára?)

 

Hamis, ok

 

Amivel eddig kísérleteztem az ez volt:

 

=VKERES(A2;'[TAF Etats stats développement par famille octobre 2006.xls]Etats stats développement CA'!$1:$1630;237;HAMIS)

 

És semmi sem működik, mert biztos az egészet szarul csinálom. Bocs, hogy ilyen értetlen vagyok, de nem tudok kitől segítséget kérni.

 

Nagyon kérlek magyarázzátok ezt el nekem!!! De, mint az ovodásnak, hogy garantáltan megértesem!!

Ezer ezer köszönet!!!

Yo

Törölt nick Creative Commons License 2007.02.08 0 0 5011

 

 

Function Atlagolo(Szam As Long, ByVal Tart As Range, ByVal Tartb As
Range, Lap1 As Integer, Lapveg As Integer) As Variant
Dim t As Long
Dim k As Long
Dim Hol() As Byte
Dim Sor1 As Long
Dim Sorveg As Long
Dim Col1 As Integer
Dim Col1b As Integer
Dim Colvegb As Integer
Dim m As Integer
Dim Osszeg As Variant
Dim S1 As Object
Dim S2 As Object
On Error GoTo Hiba
Application.Volatile ' (True)
Set S1 = Tart
Set S2 = Tartb
Atlagolo = 0
Osszeg = 0

Sor1 = S1.Cells(1, 1).Row
Sorveg = Sor1 + S1.Rows.Count - 1
Col1 = S1.Cells(1, 1).Column
Col1b = S2.Cells(1, 1).Column
Colvegb = Col1b + S2.Columns.Count - 1
ReDim Hol(Sor1 To Sorveg)
For n = Lap1 To Lapveg
For t = Sor1 To Sorveg
If WorksheetFunction.IsNumber(Worksheets(n).Cells(t,
Col1).Value) Then
If Szam = Val(Worksheets(n).Cells(t, Col1)) Then Hol(t) = 1
End If
Next t
Next n
For n = Lap1 To Lapveg
For t = Sor1 To Sorveg
If Hol(t) = 1 Then
For k = Col1b To Colvegb
If WorksheetFunction.IsNumber(Worksheets(n).Cells(t,
k).Value) Then
If Worksheets(n).Cells(t, k).Value <> 0 Then
m = m + 1
Osszeg = Osszeg + Val(Worksheets(n).Cells(t, k).Value)
End If
End If
Next k
End If
Next t
Next n
If m > 0 Then Atlagolo = Osszeg / m
Set S1 = Nothing
Set S2 = Nothing
Exit Function
Hiba:
End Function

Előzmény: terra700 (5009)
k-betti Creative Commons License 2007.02.08 0 0 5010
Tökéletes. Mindkettő működik úgy, ahogy kell. Nagyon szépen köszönöm a gyors segítséged!
Előzmény: Törölt nick (5008)
terra700 Creative Commons License 2007.02.08 0 0 5009

Szia DJ Carlos!

 

Korábban írtál nekem egy függvényt:

 

Function Osszegzo(Szam As Long, ByVal Tart As Range, ByVal Tartb As Range, Lap1 As Integer, Lapveg As Integer) As Variant
Dim t As Long
Dim k As Long
Dim Hol() As Byte
Dim Sor1 As Long
Dim Sorveg As Long
Dim Col1 As Integer
Dim Col1b As Integer
Dim Colvegb As Integer
Dim Osszeg As Variant
Dim S1 As Object
Dim S2 As Object
On Error GoTo Hiba
Application.Volatile
Set S1 = Tart
Set S2 = Tartb
Osszegzo = 0
Osszeg = 0
Sor1 = S1.Cells(1, 1).Row
Sorveg = Sor1 + S1.Rows.Count - 1
Col1 = S1.Cells(1, 1).Column
Col1b = S2.Cells(1, 1).Column
Colvegb = Col1b + S2.Columns.Count - 1
ReDim Hol(Sor1 To Sorveg)
For n = Lap1 To Lapveg
    For t = Sor1 To Sorveg
        If WorksheetFunction.IsNumber(Worksheets(n).Cells(t, Col1).Value) Then
            If Szam = Val(Worksheets(n).Cells(t, Col1)) Then Hol(t) = 1
        End If
    Next t
Next n
For n = Lap1 To Lapveg
    For t = Sor1 To Sorveg
      If Hol(t) = 1 Then
            For k = Col1b To Colvegb
                If WorksheetFunction.IsNumber(Worksheets(n).Cells(t, k).Value) Then
                   If WorksheetFunction.IsNumber(Worksheets(n).Cells(t, Col1).Value) Then
                     If Szam = Val(Worksheets(n).Cells(t, Col1)) Then Osszeg = Osszeg + Val(Worksheets(n).Cells(t, k).Value)
                   End If
                End If
            Next k
      End If
    Next t
Next n
Osszegzo = Osszeg
Set S1 = Nothing
Set S2 = Nothing
Exit Function
Hiba:
End Function

 

Nagyon jól működik és sikerült is használnom, köszönöm!

 

Az lenne a kérdésem, hogy át tudná-e írni úgy, hogy ne összeadjon, hanem átlagot számoljon?

 

Köszönöm

Törölt nick Creative Commons License 2007.02.07 0 0 5008

Ez pedig remélhetőleg az 1)-es kérdésre: c,d, e oszulopom másolásához:

 

 

Sub betti2()

Dim i, j, l, n, k As Double

 
' indítás előtt B oszlop szerint rendezni és fejlécet adni neki

' a C ,D, E oszlopot egy sorba másolja egymás után folyamatosan
 

Application.ScreenUpdating = False

'csinál egy másolatot a munkalapról, hogy az eredetit ne ronthassa el

ActiveSheet.Copy After:=ActiveSheet
 

'ahol a B oszlop értéke változik, oda beszúr egy új sort

i = Selection.SpecialCells(xlCellTypeLastCell).Row

For n = i To 3 Step -1

If Cells(n, 2) <> Cells(n - 1, 2) Then

Rows(n).EntireRow.Insert

End If

Next n

 

'az összetartozó dolgokat kimásolja a megfelelő sorba

i = Selection.SpecialCells(xlCellTypeLastCell).Row

For n = 2 To i

Cells(n, 3).Select

If Cells(n, 2) = Cells(n + 1, 2) And Cells(n, 2) <> "" Then

Selection.End(xlDown).Select

k = ActiveCell.Row

  
     l = 6 '
    For j = n To k

 
   Cells(n, l) = Cells(j, 3)
  Cells(n, l + 1) = Cells(j, 4)
  Cells(n, l + 2) = Cells(j, 5)
 
   l = l + 3
    Next j

n = k

ElseIf Cells(n, 2) <> Cells(n + 1, 2) And Cells(n, 2) <> "" Then

 

Cells(n, 6) = Cells(n, 3)

Cells(n, 7) = Cells(n, 4)


Cells(n, 8) = Cells(n, 5)

 

End If

Next n

'kitörli az eredeti C, D, E oszlopot

Columns("c:e").EntireColumn.Delete

Application.ScreenUpdating = True

'meghívja a delete makrót

Call Delete


End Sub

Előzmény: Törölt nick (5007)
Törölt nick Creative Commons License 2007.02.07 0 0 5007

Próbáld ki, ez a 2)-ra, tehát c,d,e,f sozlopk másolására megoldás:,a Delete eljárás változatlan.

 


Sub betti2()

Dim i, j, l, n, k As Double

 

' indítás előtt B oszlop szerint rendezni és fejlécet adni neki

' a C és D oszlopot egy sorba másolja egymás után folyamatosan

 

Application.ScreenUpdating = False

'csinál egy másolatot a munkalapról, hogy az eredetit ne ronthassa el

ActiveSheet.Copy After:=ActiveSheet

 

'ahol a B oszlop értéke változik, oda beszúr egy új sort

i = Selection.SpecialCells(xlCellTypeLastCell).Row

For n = i To 3 Step -1

If Cells(n, 2) <> Cells(n - 1, 2) Then

Rows(n).EntireRow.Insert

End If

Next n

 

'az összetartozó dolgokat kimásolja a megfelelő sorba

i = Selection.SpecialCells(xlCellTypeLastCell).Row

For n = 2 To i

Cells(n, 3).Select

If Cells(n, 2) = Cells(n + 1, 2) And Cells(n, 2) <> "" Then

Selection.End(xlDown).Select

k = ActiveCell.Row

  
     l = 7 'G oszlopba másolja az elsőt
    For j = n To k

 
   Cells(n, l) = Cells(j, 3) 'előszőr C-t G-be , majd C ismétlődését K-ba..
  Cells(n, l + 1) = Cells(j, 4) 'D-t H-ba
  Cells(n, l + 2) = Cells(j, 5) 'E-t I-be
  Cells(n, l + 3) = Cells(j, 6) 'F-t 'J-be
   l = l + 4
    Next j

n = k

ElseIf Cells(n, 2) <> Cells(n + 1, 2) And Cells(n, 2) <> "" Then

 

Cells(n, 7) = Cells(n, 3)

Cells(n, 8) = Cells(n, 4)


Cells(n, 9) = Cells(n, 5)

Cells(n, 10) = Cells(n, 6)

End If

Next n

'kitörli az eredeti C és D oszlopot

Columns("c:f").EntireColumn.Delete

Application.ScreenUpdating = True

'meghívja a delete makrót

Call Delete


End Sub

Előzmény: k-betti (5006)
k-betti Creative Commons License 2007.02.07 0 0 5006
Még csak annyival egészíteném ki, hogy a bővített funkcióval a végeredmény:
1) A oszlop (nincs jelentősége) B (azonosító) C-D-E; F-G-H; stb.
2) A oszlop (nincs jelentősége) B (azonosító) C-D-E-F; G-H-I-J; stb.

(Ja, és a dátumot is elnéztem, 2005 májusa óta segíti a munkámat az alábbi makró :)
Előzmény: k-betti (5005)
k-betti Creative Commons License 2007.02.07 0 0 5005
Köszönöm, hogy megpróbálod!

Adott egy négy oszlopos táblázat, ahol a B oszlop az azonosító. (Az A oszlopnak itt nincs jelentősége.) C és D oszlop az azonosítóhoz tartozó dátumokat jelöli. Egy azonosítóhoz több soron keresztül is tartozhat dátum (hogy hány soron keresztül, az előre nem meghatározható, mert mindig változó érték).

A makró az A oszlopot békén hagyja. B oszlop szerint addig helyezgeti át a dátumokat egymás alól egymás mellé, míg a B oszlop egymás alatt két ugyanolyan értéket mutat. Tehát a végeredmény: egy sorban egy azonosító (B oszlop) és mellette az összes hozzá tartozó dátum (C-D; E-F; stb. oszlop).

Most ezt a funkciót szeretném kibővíteni úgy, hogy ne csak C és D oszlopot másolja egymás mellé, hanem 1) E, illetve 2) E-F oszlopot is.

Előkerestem a régi hozzászólásomat is (hogy repül az idő :) Itt még csak a C oszlopot másolta, utána kértem a bővítést a C és D oszlopra, ez látszik a 4911-es hozzászólásom makrójában.

2856-os hsz (2006.05.14.)

A delete makró kitörli az üres sorokat a másolások után.

Sub Delete()
Dim n, i As Integer
Application.ScreenUpdating = False
'kitörli azokat a sorokat, amelyeknek a C oszlophoz tartozó cellájában nincs adat
i = Selection.SpecialCells(xlCellTypeLastCell).Row
For n = i To 1 Step -1
If Cells(n, 3) = "" Then
Rows(n).EntireRow.Delete
End If
Next n
Application.ScreenUpdating = True
End Sub
Előzmény: Törölt nick (5004)
Törölt nick Creative Commons License 2007.02.07 0 0 5004

A makróból, amit bemásoltál a 4911-be, hiányzik a Delete eljárás, jó lenne azt is feltenni, mert így nem lehet kipróbálni, másrészt a feladat megfogalmazása sem teljesen világos.

Előzmény: k-betti (5003)
k-betti Creative Commons License 2007.02.07 0 0 5003
Sziasztok!

Azóta újból próbálkoztam a makró átírásával. A Cells melletti számokat próbáltam javítani az oszlopoknak megfelelően. Sajnos az összes próbálkozásom compile error-al végződött.

Ha volna valaki, aki a tudásával kisegítene, annak nagyon örülnék...
Előzmény: k-betti (4936)
wawabagus Creative Commons License 2007.02.07 0 0 5002

ááá, asszem megvan

vkeres :-)!

már csak az a kérdés emlékszem-e, hogy kell :-D

wawabagus Creative Commons License 2007.02.07 0 0 5001

Léccci, lécci segítsetek!

Szeretnék kiegészíteni egy táblázatot egy másik excel file-ból (összekötni), csak nem tudom mi a franc a magyar megfelelője a parancsnak...francia excelt használtam eddig és ott úgy hívták recherchev.

tudjátok esetleg? és ugye van itt valaki, please :-)!!!!

köszi

yo

Törölt nick Creative Commons License 2007.02.06 0 0 5000
bakker... :)
Koszonom
Fogalmam sincs holhogyan irtam at az 1-et l-re (ott szinte egyformak)
Előzmény: Törölt nick (4999)
Törölt nick Creative Commons License 2007.02.06 0 0 4999
Criterial helyett próbálj meg Criteria1 -et írni.
Előzmény: Törölt nick (4998)
Törölt nick Creative Commons License 2007.02.06 0 0 4998
ezt próbáltam, de azt gondoltam, hogy nem jó, mert kiakad futás közben, valószínűleg nem illik ebbe a környezetbe:


Selection.AutoFilter Field:=ActiveCell.Column, Criterial:=ActiveCell.Value

(A cél az volt, hogy az aktív cella értékét kiválassza az autoszűrő)

csak hangosan gondolkodva, lehetséges, hogy a Field után kizárólag számot lehet megadni? Próbáltam változóval, de azt sem engedi)
Ámbár ha a kritikus ActiveCell.Comumn fölé viszem a kurzort soronkénti futtatásnál, ki is írja az értékét...

...tapogatózom mint vak a sötétben...

Előzmény: Törölt nick (4997)
Törölt nick Creative Commons License 2007.02.06 0 0 4997

 

aktiv cella oszlopának száma: ActiveCell.Column

 

A count azt mondja meg hány oszlopa vagy sora van mondjuk az éppen kijelölt tartománynak, az aktív cellának nyilván egy lenne:

Selection.Columns.Count

Előzmény: Törölt nick (4996)
Törölt nick Creative Commons License 2007.02.06 0 0 4996
elvileg a ActiveCell.Columns.Count lenne az - de így beágyazva nem eszi meg:

Selection.AutoFilter Field:=ActiveCell.Columns.Count, Criterial:=ActiveCell.Value
Előzmény: Törölt nick (4995)

Ha kedveled azért, ha nem azért nyomj egy lájkot a Fórumért!