Avatar billede micwar Mester
08. marts 2013 - 12:15 Der er 10 kommentarer og
1 løsning

tæl hvis eller en makro

Hej
Har brug for en tæller til at se om et navn og tekst går igen.
f.eks. Kolonne A skal stå et navn (Ole, Hans og Ib)
i Kolonne B,C,D kan stå firskellig tekst (Is, Pølse, Øl, Vand),
Skal jeg have en tæller der ser på Ole og tæller Is,Pølse osv. og det samme gælder resten.
Måske med en formel eller en Makro.
Avatar billede m_claus Nybegynder
08. marts 2013 - 12:19 #1
=COUNTIF(B1:D1;"IS")
=COUNTIF(B1:D1;"Pølse")
=COUNTIF(B1:D1;"Vand")

??
Avatar billede micwar Mester
08. marts 2013 - 12:25 #2
Navn    Tekst 1    Tekst 2    Tekst 3
Ole    Pølse       
Ole        Is    Øl
Ib    Is    Vand   
Hans        Øl   
Ib    Pølse       
Ole        Vand    Is

Den skal tælle sådan at man får
Ole 1 pølse 2 Is 1 Øl
OSV
Avatar billede micwar Mester
08. marts 2013 - 12:27 #3
Hov det så beder ud da jeg satte den ind
Avatar billede kabbak Professor
09. marts 2013 - 12:28 #4
Ok, her er en function

kaldes med =Varer("Ole";A2:D7)



Option Base 1

Public Function Varer(Hvem As String, Område As Range)
Dim Data As Variant, RK() As Variant, I As Long, X As Long, A As Long, Koeb(10, 2) As Variant
Application.Volatile
' Koeb(10, 2) = 10 varer, varenavn og antal, ret hvis flere varer
Data = Område
X = 0
For I = 1 To UBound(Data)
If Data(I, 1) = Hvem Then ' finder de rækker som "Hvem" er i
X = X + 1
ReDim Preserve RK(X)      ' skriver rækkernr i RK(x), vi behøver jo ikke de andre personer
RK(X) = I
End If
Next

For I = 1 To UBound(RK) ' så ser vi på "Hvems" forbrug
    For X = 2 To UBound(Data, 2)
        If Data(RK(I), X) <> "" Then
       
          For A = 1 To UBound(Koeb)
            If Koeb(A, 1) = Data(RK(I), X) Then
              Koeb(A, 1) = Data(RK(I), X)
              Koeb(A, 2) = Koeb(A, 2) + 1
              Exit For
            Else
              If IsEmpty(Koeb(A, 1)) Then
              Koeb(A, 1) = Data(RK(I), X)
              Koeb(A, 2) = Koeb(A, 2) + 1
              Exit For
              End If
            End If
          Next
      End If
    Next
Next

'Så skriver vi data ud til functionen
Varer = Hvem & " = "
    For A = 1 To UBound(Koeb)
If Not IsEmpty(Koeb(A, 1)) Then
Varer = Varer & "(" & Koeb(A, 2) & " " & Koeb(A, 1) & ") "
End If
Next
End Function
Avatar billede micwar Mester
09. marts 2013 - 12:59 #5
Hej Kabbak

Kan ikke lige dreje hvor og hvordan jeg indsætter din formel i arket.
Avatar billede kabbak Professor
09. marts 2013 - 13:19 #6
I Excel, tryk ALT+F11, så kommer du i VBA editoren

når du er der vælg Insert Module.

Sæt koden ind i det tomme modul.

Luk editoren igen ved at trykke på det øverste X, så er du tilbage på arket.

Husk at gemme excel filen som en fil med makro, hvis det du bruger er nyere end Excel 2003
Avatar billede micwar Mester
09. marts 2013 - 13:49 #7
Så lange så godt var jeg med, men hvordan får jeg data ud? kan jo ikke køre den som makro som den er.

Min opstilling er nu.
A2 og ned er navne (Ole, Ib og Hans)
B,C og D2 og ned er (Øl, Vand og Pølse)fordelt.

Ole, Ib og Hans kan forkomme flere gange ned og det samme de andre ting.

Skal jeg skrive noget i f.eks F2 for at informationen kommer med hvad Ole har købt og hvor mange gange?

Håber du har tålmodighed med mig :)
Avatar billede kabbak Professor
09. marts 2013 - 16:20 #8
kaldes med =Varer("Ole";A2:D7)

Kald den direkte i cellen med ovenstående, skift selv navn,
det kan godt være en celle der har navnet, f.eks.

=Varer(F1;A2:D7)
kvor der i F1 står Ole
og dine data er I A2 til D7
Avatar billede kabbak Professor
09. marts 2013 - 17:02 #9
Avatar billede kabbak Professor
09. marts 2013 - 17:07 #10
jeg glemte lige at låse området med $ tegn, så det er kun den øverste formel der er korrekt.
Avatar billede micwar Mester
09. marts 2013 - 23:36 #11
Hej Kabbak

Nu kan jeg se hvad jeg gjorde forkert, og det virker fint.
Vil se om jeg kan få dataen til at stå lidt anderledes
f.eks. Kolonne H=navn, I=Øl, J=Vand og K=Pølse og så kommer der verdien der og + når B,C,D bliver udfyldt med navn.

Men tak for hjælpen det var starten på mit problem som blev løst. :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester