Clever-Excel-Forum

Normale Version: Werte zwischen zwei Werten
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3
Halllo Uwe,
klappt wie gewünscht. Darf ich noch fragen warum es keinen Dim Befehl für CStr(i) geben muss?

Gruß
Marcus und einen schönen Abend!
Hallo,
Noch einfacher klappt es, wenn die Zahlen in 2 Zellen aufgelistet werden:

Zitat:Tabelle1

ABC
35115/6/7/8/9/10/11

Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8
Zitat:
Sub zahlen_zwischen_1()
Dim X As Variant
Dim Y As Variant
Dim I As Variant
Dim Text As String
X = Range("A3")
Y = Range("B3")
    For I = X To Y Step 1
        If I <> Y Then
            Text = Text & I & "/"
        Else
            Text = Text & I
        End If
    Next
    Range("C3") = Text
End Sub

Gruß
Marcus
Hallo, nur am Rande sei erwähnt, dass das freilich auch mit PQ lösbar ist... Also auch für Versionen ab XL2013 - TEXTVERKETTEN() geht ja erst ab ... ohne VBA - m.E. einziger Nachteil man muss aktualisieren...

In einer Zelle steht die Spanne z.B. 45-67 (diese Zelle nenne ich "spanne") lade sie nach Power Query und dann (sieht schlimmer aus als es ist - man braucht nix zu programmieren, der Code wird durch Klicks generiert) ..:

PHP-Code:
let
    Quelle 
Excel.CurrentWorkbook(){[Name="spanne"]}[Content],
    #"Spalte nach Trennzeichen teilen" = Table.SplitColumn(Quelle, "Column1", Splitter.SplitTextByDelimiter("-", QuoteStyle.Csv), {"Column1.1", "Column1.2"}),
    #"Geänderter Typ" = Table.TransformColumnTypes(#"Spalte nach Trennzeichen teilen",{{"Column1.1", Int64.Type}, {"Column1.2", Int64.Type}}),
    #"Umbenannte Spalten" = Table.RenameColumns(#"Geänderter Typ",{{"Column1.1", "Start"}, {"Column1.2", "Stop"}}),
    #"Entfernte Spalten" = Table.RemoveColumns(#"Umbenannte Spalten",{"Stop"}),
    Start #"Entfernte Spalten"{0}[Start]
in
    Start 





PHP-Code:
let
    Quelle 
Excel.CurrentWorkbook(){[Name="spanne"]}[Content],
    #"Spalte nach Trennzeichen teilen" = Table.SplitColumn(Quelle, "Column1", Splitter.SplitTextByDelimiter("-", QuoteStyle.Csv), {"Column1.1", "Column1.2"}),
    #"Geänderter Typ" = Table.TransformColumnTypes(#"Spalte nach Trennzeichen teilen",{{"Column1.1", Int64.Type}, {"Column1.2", Int64.Type}}),
    #"Umbenannte Spalten" = Table.RenameColumns(#"Geänderter Typ",{{"Column1.1", "Start"}, {"Column1.2", "Stop"}}),
    #"Entfernte Spalten" = Table.RemoveColumns(#"Umbenannte Spalten",{"Start"}),
    Stop #"Entfernte Spalten"{0}[Stop]
in
    Stop 


PHP-Code:
Quelle = {start..stop},
    #"In Tabelle konvertiert" = Table.FromList(Quelle, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
    #"Umbenannte Spalten" = Table.RenameColumns(#"In Tabelle konvertiert",{{"Column1", "werte"}}),
    #"Hinzugefügte benutzerdefinierte Spalte" = Table.AddColumn(#"Umbenannte Spalten", "Benutzerdefiniert", each 1),
    #"Gruppierte Zeilen" = Table.Group(#"Hinzugefügte benutzerdefinierte Spalte", {"Benutzerdefiniert"}, {{"Anzahl", each _ [werte]}}),
    #"Extrahierte Werte" = Table.TransformColumns(#"Gruppierte Zeilen", {"Anzahl", each Text.Combine(List.Transform(_, Text.From), ", "), type text}),
    #"Entfernte Spalten" = Table.RemoveColumns(#"Extrahierte Werte",{"Benutzerdefiniert"}),
    #"Umbenannte Spalten1" = Table.RenameColumns(#"Entfernte Spalten",{{"Anzahl", "Ergebnis"}})
in
    
#"Umbenannte Spalten1" 

Arbeitsblatt mit dem Namen 'Tabelle1'
AB
245-6745, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67
3
4Ergebnis
545-6745, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67

ZelleFormel
B2=TEXTVERKETTEN(", ";;ZEILE(INDIREKT(WECHSELN(A2;"-";":"))))
Verwendete Systemkomponenten: [Windows (32-bit) NT 10.00] MS Excel 2016
Diese Tabelle wurde mit Tab2Html (v2.6.0) erstellt. ©Gerd alias Bamberg


[attachment=28717]
Erst mal großes Lob für das Posten von M-Code, Jockel.

Verstehen kann man den Code aber kaum ;), obwohl Du ihn vermutlich sogar hübsch gemacht hast, damit man ihn besser lesen kann.

Der Preis für die eierlegende Wollmilchsau ist wohl, dass das Vorgehen so sehr anders ist, als jeder gewöhnt ist.

SQL liest sich da ja noch relativ kommod.

Aus

schneide gekochte Kartoffel
piekse Gabel hinein
tunke in Soße
führe zum Mund

wird so etwas wie

Nenne die gekochte Kartoffel Schnittgut
Nenne die Soße Pampe
Packe Schnittgut in Pampe
Wähle aus zwischen Anheben, Durchstechen, Ansaugen, Wegbeamen
Ziehe eine Strecke Teller - Mund auf
Lasse Schnittgut fallen, sobald Streckenberührungstest Richtung nach unten Mund positiv

was aber fast noch lesbar dagegen ist.
Hallo,

@LCohen: mein Excel-Insider mit derselben Version hat keine Probleme. Allerdings habe ich jetzt kein
Surface sondern die Dateien auf einem Laptop mit Win 10 geöffnet.

Gruß
Oder ein UDF:

PHP-Code:
Function F_snb(c00)
   F_snb Join(Evaluate("transpose(row(" Replace(c00"-"":") & "))"), ", ")
End Function 

In Zelle B2:

PHP-Code:
=F_snb(A2
(08.01.2020, 07:18)LCohen schrieb: [ -> ]Erst mal großes Lob für das Posten von M-Code, Jockel.

Verstehen kann man den Code aber kaum ;) ...
...

Hallo, deswegen habe ich ja auch die Datei mitgeschickt. Da kann man ja den Editor öffnen und die Schritte nachvollziehen. Ist ja auch nur für die, die es interessiert. Ich weiß selbst, dass PQ hier sicher nicht die erste Wahl ist, wollte aber aufzeigen, dass es geht. Vorallem wenn man TEXTVERKETTEN() (noch) nicht zur Verfügung hat und kein VBA benutzen darf (oder kann - wie ich).
Hallo Jörg,
Für Leute die sich gar nicht mit PQ auskennen ..., so wie ich es bin, da braucht man schon etwas mehr Infos.

Gruß
Marcus
Hi

natürlich gibt es auch bei PowerQuery mehrere Lösungen. Für die die es interessiert.

Code:
let
    Quelle = Excel.CurrentWorkbook(){[Name="spanne"]}[Content],
    #"Spalte nach Trennzeichen teilen" = Table.SplitColumn(Quelle, "Column1", Splitter.SplitTextByDelimiter("-", QuoteStyle.Csv), {"Start", "Stop"}),
    #"Geänderter Typ" = Table.TransformColumnTypes(#"Spalte nach Trennzeichen teilen",{{"Start", Int64.Type}, {"Stop", Int64.Type}}),
    #"Hinzugefügte benutzerdefinierte Spalte" = Table.AddColumn(#"Geänderter Typ", "Alle", each List.Numbers([Start],[Stop]-[Start]+1)),
    #"Extrahierte Werte" = Table.TransformColumns(#"Hinzugefügte benutzerdefinierte Spalte", {"Alle", each Text.Combine(List.Transform(_, Text.From), "; "), type text}),
    #"Entfernte Spalten" = Table.RemoveColumns(#"Extrahierte Werte",{"Start", "Stop"})
in
    #"Entfernte Spalten"


Gruß Elex
Hallo Marcus, warum schickst du selbe Datei ..? Wenn du die Einfabezelle veränderst, musst du in die Ausgabezelle oder Tabelle uns wie schon schrieb... ... Nachteil man muss aktualisieren

(08.01.2020, 16:50)Elex schrieb: [ -> ]Hi

natürlich gibt es auch bei PowerQuery mehrere Lösungen. Für die die es interessiert.

Gruß Elex

Hallo, sehr schöne Lösung... :28: :43: :28:
Seiten: 1 2 3