Avatar billede janvogt Praktikant
10. oktober 2005 - 09:09 Der er 9 kommentarer og
2 løsninger

Beregning af ikke-brugte værdier

Jeg har 5 celler - f.eks. A1:E1, som kan indeholde tallene 1-9 samt blank. Ingen af tallene går igen - dog kan der godt være flere blanke.

Nu vil jeg gerne i F1 have beregnet de værdier, som ikke er brugt. Eksempel:
A1=5
B1=blank
C1=3
D1=blank
E1=8
F1 skal nu beregnes til: 124569

Et andet eksempel:
A1=blank
B1=blank
C1=1
D1=blank
E1=9
F1 skal nu beregnes til: 2345678

Håber I kan følge "systemet".
Avatar billede janvogt Praktikant
10. oktober 2005 - 09:23 #1
Hov, der var lige en fejl! Det første eksempel skal hedde:
A1=5
B1=blank
C1=3
D1=blank
E1=8
F1 skal nu beregnes til: 124679
Avatar billede andersknudsen Nybegynder
10. oktober 2005 - 11:38 #2
Prøv med:

1. a5:a13= skriv tallene fra 1-9
2. b5= skriv formlen =SAMMENLIGN(A5;$A$1:$E$1;0) og kopier til b5:b13
3. c5= skriv formlen =+HVIS(ER.FEJL(B5);A5;"") og kopier til c5:c13
4. f1= skriv formlen =SAMMENKÆDNING(C5;C6;C7;C8;C9;C10;C11;C12;C13)

Dette viser den ønskede tekst
Avatar billede kabbak Professor
10. oktober 2005 - 11:46 #3
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A1:E1")) Is Nothing Then
    Dim Data As Variant, TestData As Variant, I As Integer, T As Integer
    Data = Range("A1:E1")
    TestData = Array(, 1, 2, 3, 4, 5, 6, 7, 8, 9)
   
        For I = 1 To 4
         
            If Data(1, I) > 0 Then
                For T = 1 To UBound(TestData)
                    If Data(1, I) = TestData(T) Then
                        TestData(T) = Empty
                      End If
                Next
            End If
          Next
         
            Range("F1") = Empty
        For I = 1 To UBound(TestData)
            Range("F1") = Range("F1") & TestData(I)
        Next
End If
End Sub
Avatar billede janvogt Praktikant
10. oktober 2005 - 12:21 #4
SAMMENLIGN selvfølgelig ....!
Jeg var kørt lidt fast - måske fordi jeg prøvede at få alt samlet i én array-formel.
Jeg tror stadig det kan lade sig gøre, men det blev lidt langhåret.

Kabbak, smid et svar. Din kode klarer også problemet .....
Avatar billede kabbak Professor
10. oktober 2005 - 12:28 #5
et svar ;-))
Avatar billede kabbak Professor
10. oktober 2005 - 12:54 #6
tak for point
Avatar billede andersknudsen Nybegynder
10. oktober 2005 - 12:56 #7
også tak for mine første point
Avatar billede janvogt Praktikant
10. oktober 2005 - 13:43 #8
Man skal jo starte et sted :-)
Velkommen på Eksperten!
Avatar billede kabbak Professor
10. oktober 2005 - 14:01 #9
Jeg prøvede lige at lave en funktion til det:

Public Function FindManglende(Område As Range, Testdata As Variant) As Variant
    Dim I As Integer, T As Integer
        For Each C In Område
            If C > 0 Then
                For T = 1 To UBound(Testdata)
                    If C = Testdata(T) Then
                        Testdata(T) = Empty
                      End If
                Next
            End If
          Next
        For I = 1 To UBound(Testdata)
            FindManglende = FindManglende & Testdata(I)
        Next
End Function

Kaldes med

= FindManglende(A1:E1;{1;2;3;4;5;6;7;8;9})
Avatar billede bak Forsker
10. oktober 2005 - 14:20 #10
=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE("123456789";A1;"");B1;"");C1;"");D1;"");E1;"")
Avatar billede bak Forsker
10. oktober 2005 - 14:24 #11
SUBSTITUTE = UDSKIFT på dansk
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

Seneste spørgsmål Seneste aktivitet
I går 21:00 Libre Office Impress Af Frank i Andre styresystemer
I går 11:47 VB script Af Jenshentze i Word
I går 11:21 Popup ved opstart Af mort1 i Windows
04/0918:50 Slet lokal konto Af ErikHg i Windows
04/0916:05 Ændre tal i en celle Af xvid i Excel