Frage : Notwendigkeits-Algorithmus: Die Zahl Reihen-Mehrfachverbindungsstellen-Zeiten zählen

He haben Kerle,

I ein allgemeines programmierenkonzept, das ich nicht sehr gut anpacken kann.

So habe ich eine Spalte von Zahlen (nur 0s und 1s) und muss den Anfang anzeigen und Endlage für alles 1s. Z.B.

1
1
1
0
0
1
1
0
1
1
1
1
0
1
0

would ausgab ab:
1-3, 6-7, 9-12, 14

I verursacht verschiedene Schleifen und hatten einige Ideen, aber können diese Idee nicht vollständig im Augenblick fassen.  Es kann sein, weil es Freitag ist, oder das mir verzögert. Eins der zwei.  Wenn jedermann helfen könnte, sein es groß appreciated.

Thanks!
Rob

Antwort : Notwendigkeits-Algorithmus: Die Zahl Reihen-Mehrfachverbindungsstellen-Zeiten zählen

Ich geprüft nicht die anderen Vorschläge, so meine Entschuldigungen, wenn ich etwas anbiete, das bereits: versucht)

Dieses arbeitet als Funktion.  So wenn Sie Ihr 1s und 0s in sagen wir A1 haben: A50, dann in einer anderen Zelle verwenden Sie:

=MakeTheList (A1: A50)
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
6:
37:
Funktion MakeTheList (ArrayIn als Variante)
    
    Schwaches x als Variante
    Schwaches StartAt als lang, EndAt als lang
    Schwacher Kostenzähler als lang
    
    Const Begrenzer als Schnur = „,“
    
    Für jedes x in ArrayIn
        Kostenzähler = Gegen+ 1
        Wenn x <> 0 dann
            EndAt = Gegen
            Wenn StartAt = 0 dann StartAt = Gegen
        Sonst
            Wenn EndAt <> 0 dann
                Wenn StartAt <> EndAt dann
                    MakeTheList = MakeTheList u. Begrenzer u. StartAt u. „-“ u. EndAt
                Sonst
                    MakeTheList = MakeTheList u. Begrenzer u. StartAt
                Beenden wenn
                StartAt = 0
                EndAt = 0
            Beenden wenn
        Beenden wenn
    Zunächst
    
    Wenn StartAt <> 0 dann
        Wenn StartAt <> EndAt dann
            MakeTheList = MakeTheList u. Begrenzer u. StartAt u. „-“ u. EndAt
        Sonst
            MakeTheList = MakeTheList u. Begrenzer u. StartAt
        Beenden wenn
    Beenden wenn
    
    MakeTheList = mittler (MakeTheList, Len (Begrenzer))
    
Enden-Funktion
Weitere Lösungen  
 
programming4us programming4us