/ Forside/ Teknologi / Administrative / MS-Office / Spørgsmål
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
MS-Office
#NavnPoint
sion 18709
refi 14474
Klaudi 9389
Rosco40 5695
berpox 5456
dk 5398
webnoob 4919
Benjamin... 4870
o.v.n. 4637
10  EXTERMINA.. 4373
Formel "Flere kriterier opfyldt" i Excel~
Fra : kimsdk
Vist : 744 gange
100 point
Dato : 25-02-05 11:22

Hvad er formlen for, at søge i flere kolonner?
En formel skal kunne søge i to kolonner om to forskellige kriterier er opfyldt, derefter retunere summen af de rækker hvor begge kriterier er opfyldt.
Eks.:
Kolonne A indeholder leverandørnumre (samme leverandør kan optræde flere gange i kolonnen), kolonne B indeholder varenumre (samme varenummer kan optræde flere gange i kolonnen), så skal formlen finde ud af hvor mange gange har leverandør X leveret produkt Y.
Det er helt klart noget der skulle være i Access, meeeen, nu SKAL det jo bare lige være i Excell.
Formlen "TÆL.HVIS(A2..A200;X) og (B2..B200;Y)" dur ikke.

 
 
Kommentar
Fra : winetaster


Dato : 25-02-05 11:32

Prøv en matrice-formel, se evt. hjælp F1

Kommentar
Fra : kimsdk


Dato : 25-02-05 12:01

Har "cyklet" F1 igennem på kryds og tværs!
Formlen "Betinget sum" er tæt på, men dur heller ikke.

Kommentar
Fra : sion


Dato : 25-02-05 15:59

Den er nem...

Jeg antager her, at du skriver det leverandørnummer, du vil søge efter, i felt D1, og tilsvarende varenummeret i D2.
I en tredje kolonne (evt. C) skriver du følgende: =HVIS(A2=D$1;HVIS(B2=D$2;1;0);0)
Herefter kan du summerere tallene i kolonne C for at få antallet af gange, hvor en bestemt leverandør har leveret en bestemt vare.

Simon

Kommentar
Fra : Eyvind


Dato : 25-02-05 16:15

Hvis du bruger og betingelsen, skal og stå før dine betingelser
Du kan se det i logisk.
I denne logiske "og" kan du lægge 2 stk "hvis"
og så tæl eller tælv omkring det hele
Der må være 11 indlejrede betingelser i en sætning.

Kommentar
Fra : winetaster


Dato : 26-02-05 12:35

Sion og Eyvinds svar er gode, men:
Hvis du vil have en vba-løsning, der virker,
uanset hvor mange rækker/kolonner/betingelser du anvender,
så skriv lige !
Mvh W.

Kommentar
Fra : kimsdk


Dato : 28-02-05 11:11

Sion´s er jeg helt klar over, men det drejer sig om en formel der kan tælle alle records igennem, og tælle hvor mange leverandør X har leveret af vare Y (i én formel).
I VB hedder formlen: count.iif(A1..A200;X) and (B1..B200;Y)
hvor det er det lille "and" det ser om leverandør er X OG vare er Y. Den skal IKKE tælle dem med hvor leverandør er X og vare er Z!
Sååå, W, hvis du har et bud.

Kommentar
Fra : winetaster


Dato : 28-02-05 13:46

Hermed en lille vba:
Jeg antager, at alle leverandørnumre står i kolonne A, og alle varenumre i kolonne B.
Afprøv nedenstående, og skriv, hvis du får problemer:

Public Sub ToBetingelser_() 'Denne sub tillader max. 65.000 rækker !

Dim LEV As Range, VAR As Range, clL As Range, clV As Range
Dim Lnr As Integer, Vnr As Integer, HIT As Integer
HIT = 0

Lnr = InputBox("Indtast leverandørnr.")
Vnr = InputBox("Indtast varenr.")

Set LEV = Range("a:a")
Set VAR = Range("b:b")

For Each clL In LEV
With clL
If .Offset(0, 0) = Lnr And .Offset(0, 1) = Vnr Then HIT = HIT + 1
End With
Next clL

MsgBox "Leverandørnr. " & Lnr & vbCrLf & " og" & vbCrLf & "Varenr. " & Vnr & vbCrLf & vbCrLf & HIT & " hits !"

End Sub


Kommentar
Fra : kimsdk


Dato : 28-02-05 14:36

W: Prøver den lige af. Har ikke tid i dag. Men vender tilbage hurtigst muligt.

Kommentar
Fra : kimsdk


Dato : 28-02-05 14:43

Fik alligevel afprøvet den.
Den virker perfekt. Men kan man få den til at "out-putte" i et felt i Excell (eks. C1)?

Kommentar
Fra : winetaster


Dato : 01-03-05 16:51

Ja, her er den samme vba, men lidt redigeret:

Public Sub ToBetingelser_2() 'Denne sub tillader max. 65.000 rækker !

Dim LEV As Range, VAR As Range, clL As Range, clV As Range
Dim Lnr As Integer, Vnr As Integer, HIT As Integer
HIT = 0

Lnr = InputBox("Indtast leverandørnr.")
Vnr = InputBox("Indtast varenr.")

Set LEV = Range("a:a")
Set VAR = Range("b:b")

For Each clL In LEV
With clL
If .Offset(0, 0) = Lnr And .Offset(0, 1) = Vnr Then HIT = HIT + 1
End With
Next clL

with Range("c1")
.select
.value = HIT
end with

End Sub

Mvh W.




Kommentar
Fra : Rosco40


Dato : 28-09-05 19:09

Det kan gøres meget enkelt med denne formel som placeres i C1.
1 for leverandør og 25 for varenummer , kan evt erstattes med cellereferencer, f.eks D1 og E1,
Så kan det du vil vide let ændres.
[Code]
=SUMPRODUKT((A3:A65001=1)*(B3:B65001=25))
=SUMPRODUKT((A3:A65001=D1)*(B3:B65001=E1))



Annuller spørgsmålet
Fra : kimsdk


Dato : 02-02-06 13:15

Jeg har desværre ikke modtaget et gyldigt svar, og annullerer derfor dette spørgsmål

Du har følgende muligheder
Dette spørgsmål er blevet annulleret, det er derfor ikke muligt for at tilføje flere kommentarer.
Søg
Reklame
Statistik
Spørgsmål : 177414
Tips : 31962
Nyheder : 719565
Indlæg : 6407822
Brugere : 218875

Månedens bedste
Årets bedste
Sidste års bedste