Avatar billede zjat Nybegynder
15. juli 2010 - 16:18 Der er 15 kommentarer og
1 løsning

Slå op på X antal første tegn i celle?

Hej alle sammen

Jeg ved at man kan søge på dele af et tal ved at skrive Left(32409428;3) i excel. Men hvad hvis jeg gerne vil have følgende:

Alt efter hvor mange tal jeg skriver en celle, skal excel finde ud af at lede i tal fra venstre til højre.

Eksempel:

Jeg skriver i A1: 12345
B1: kigger i en kollonne (F:F) for at finde alle de tal som begynder med 12345, og finder:

12345-33
12345-34
12345-aa

Nu skriver jeg følgende i A1: 433
B1: kigger så i samme kolonne (F:F) efter de tal som starter med 433, og finder:

43321-33
43322-34
43312-bb

Formelen jeg vil benytte i B1 er følgende komplekse formel :)

=SUMPRODUCT(--(Resultater!A:A=$A$1);(Resultater!F:F))

Det er selvfølgelig kun dem, der præcis har den talkombination som start, jeg vil have summeret.

Håber i kan hjælpe :)
Avatar billede supertekst Ekspert
15. juli 2010 - 18:10 #1
Hvad med lidt VBA??
Avatar billede supertekst Ekspert
15. juli 2010 - 18:37 #2
Rem Koden indsættes under det relevante ark

Dim antalRæk As Long, ræk As Long, bRæk As Long
Private Sub Worksheet_Change(ByVal Target As Range)
    antalRæk = ActiveCell.SpecialCells(xlLastCell).Row
   
    If Target.Address = "$A$1" Then            'tast tal i A1
        Range("B:B").Clear
        bRæk = 1
        tastOgFind CStr(Target)
    End If
End Sub
Private Sub tastOgFind(værdi)  'genneløber kolonne F
    For ræk = 1 To antalRæk
        If InStr(CStr(Cells(ræk, 6)), værdi) = 1 Then
            Cells(bRæk, 2) = Cells(ræk, 6)
            bRæk = bRæk + 1
        End If
    Next ræk
End Sub
Avatar billede zjat Nybegynder
15. juli 2010 - 19:19 #3
Ville helst undgå VBA.

Men vil prøve din VBA kode, for at se funktionen.
Avatar billede Slettet bruger
15. juli 2010 - 20:06 #4
Jeg er i tvivl om, om jeg forstår dig rigtigt, men med data som følger:

12345-33    1    433
12345-34    2   
12345-aa    3   
43321-33    4   
43322-34    5   
43312-bb    6   

I F1:F6, G1:G6 og opslagsværdien (her 433) i H1 kan du bruge denne formel i B1:

=SUMPRODUCT(--(ISNUMBER(SEARCH(H1;F1:F6)));G1:G6)

Denne formel returnerer 15. Hvis du ændrer H1 til 12345 returnerer formlen 6.

Hvis jeg har misforstået, må du forklare nærmere, hvis du ønsker min hjælp.

Hans
Avatar billede excelent Ekspert
15. juli 2010 - 20:39 #5
Ja det er lidt uklart hvad der skal summeres ved evt. match
Er det de 5 første tal, eller de 3 første eller hvad
Og er formatet ens i hele kolonne F
Gætter nu på det er de 5 første sifre i cellerne:

=SUM((--VENSTRE(F2:F7;LÆNGDE(A1))=A1)*(--VENSTRE(F2:F7;5)))

afslut formlen med ctrl+shift+enter
Avatar billede excelent Ekspert
15. juli 2010 - 20:56 #6
=SUM((--LEFT(F2:F7;LEN(A1))=A1)*(--LEFT(F2:F7;5)))
Avatar billede ulykken-smed Juniormester
15. juli 2010 - 21:54 #7
Hej

Excelent hvilken betydning har det når man afslutter med ctrl+shift+enter

Mvh
Ulykken-smed
Avatar billede natkatten Mester
16. juli 2010 - 11:34 #8
Vil gerne svare på Excelents vegne. Ved at trykke på Ctrl+Shift+Enter fås en matrixformel. Du kan se dette ved at der bliver placeret klammeparenteser { } omkring formlen. Se f.eks. denne tråd, hvor Excelent var på banen: http://www.eksperten.dk/spm/860531
Avatar billede ulykken-smed Juniormester
17. juli 2010 - 00:07 #9
natkatten

jeg kan stadig ikke helt lige rumme hvad det gør, men tak for hjælpen
Avatar billede zjat Nybegynder
17. juli 2010 - 20:38 #10
Ja, kan godt se det er lidt uklart :)

Prøver igen med forklaring.

Der skal kigges i kolonne A, hvor man så kan vælge at lede efter de første tre tal, selvom der er 6 tal i hver celle.

Når man så finder de ønsket værdier, så summerer den de funde rækker fra kolonne F

Eksempel:

Søger på 433

Kolonne A

423033
433022
342943
433944
322333

Kolonne F

432
5
423
10
322

Resultatet bliver så 15 ved benyttelse af funktion.
Avatar billede zjat Nybegynder
17. juli 2010 - 21:14 #11
Jeg har prøvet at lege med denne formel:

=SUMPRODUCT(--(LEFT(Resultater!A:A;LEN($A$1))=$A$1);(Resultater!F:F))

Hvor søgningen står i A1

Men kan ikke få det til at virke :(
Avatar billede zjat Nybegynder
17. juli 2010 - 21:25 #12
Det ser dog til dette virker:

=(SUMPRODUCT(--(LEFT(Resultater!A:A;LEN($A$1))=LEFT($A$1;LEN($A$1)));(Resultater!F:F)))

Men det kan jeg så ikke forstå - så bistand ønskes stadig :)
Avatar billede zjat Nybegynder
17. juli 2010 - 21:30 #13
Og excelent...tak for dit fornemme hint til en løsning :) havde ikke tænkt på LEN funktionen! Btw...har sendt dig post ang. noget andet... Hvis der ikke kommer flere svar, får du pointene for denne post :)
Avatar billede excelent Ekspert
18. juli 2010 - 09:12 #14
ok prøv med denne :
=SUMPRODUCT((--LEFT(Resultater!A2:A7;LEN(A1))=A1)*(Resultater!F2:F7))

Ret A2:A7 og F2:F7 til max forventet række

om matrixformler se her : http://pmexcelent.dk/matrix.jpg

og ja har fundet din mail, kikker på det ved lejlighed
Avatar billede zjat Nybegynder
18. juli 2010 - 09:38 #15
Mange mange tak :) du burde næsten lave et e-lernings kursus :)
Avatar billede ulykken-smed Juniormester
18. juli 2010 - 09:43 #16
Nu forstår jeg hvad en matrixformel er,tak for hjælpen
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
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

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