Office: Nebeneinanderliegende Zellen zählen

Helfe beim Thema Nebeneinanderliegende Zellen zählen in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo zusammen, ich habe eine Pivot mit tagweisen Datumsangaben in den Spalten erstellt. Nun möchte ich eine Möglichkeit finden, wie oft (je Zeile) -... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von ebjo11, 21. Februar 2023.

  1. ebjo11 Neuer User

    Nebeneinanderliegende Zellen zählen


    Hallo zusammen,

    ich habe eine Pivot mit tagweisen Datumsangaben in den Spalten erstellt. Nun möchte ich eine Möglichkeit finden, wie oft (je Zeile)
    - eine einzelne Zelle (ohne Nachbarzelle) gefüllt ist
    - zwei Zellen nebeneinander gefüllt sind
    - drei Zellen nebeneinander gefüllt sind
    - ...

    Leider zerbreche ich mich den Kopf darüber und hoffe, mir kann hier geholfen werden.
    Vorweg herzlichen Dank und viele Grüße
     
    Zuletzt bearbeitet: 21. Februar 2023
  2. neopa C Erfahrener User
    Hallo,

    (D)eine Beispieldatei und zwar mit der Datenquelle Deiner Pivotauswertung wäre hilfreich(er)
    Außerdem wird es von den wenigstens potentiellen Helfern gern gesehen, wenn Du Deine Fragestellung ohne entsprechende Verlinkung in mehreren Foren einstellst. Hole beides in den Foren nach und dann hoffe darauf, dass sich einer Deiner Fragestellung annimmt.
     
    neopa C, 21. Februar 2023
    #2
  3. ebjo11 Neuer User
    Hi,

    danke erst einmal für deinen Input. Die Pivot habe ich bereits als einfaches Arbeitsblatt übertragen. Die Vereinfachung meiner Datei anbei.
    Noch einmal zur Verdeutlichung: Die 1 bedeutet jeweils, dass Person A/B/C am jeweiligen Datum erschienen ist. Ich möchte auswerten, wie oft die jeweilige Person
    - einen einzelnen Tag
    - zwei Tage in Folge
    - drei Tage in Folge
    - ...
    erschienen ist.

    Vielen Dank vorab!
     
  4. HKindler
    HKindler Erfahrener User

    Nebeneinanderliegende Zellen zählen

    Hi,

    also unter einer Pivot-Tabelle verstehe ich etwas anderes. Dies ist eine Kreuztabelle.

    Wenn es VBA sein darf:
    Code:
    Function Nachbarn(Bereich As Range) As Variant
    Dim i As Long
    Dim k As Long
    Dim t As Variant
    ReDim t(1 To 1)
    For i = 1 To Bereich.Cells.CountLarge
        If Not IsEmpty(Bereich.Cells(i)) Then
            k = k + 1
        Else
            If k > 0 Then
                If k > UBound(t) Then ReDim Preserve t(1 To k)
                t(k) = t(k) + 1
                k = 0
            End If
        End If
    Next i
    Nachbarn = t
    End Function
    Diese Funktion gibt die Anzahl zusammenhängender Werte als Matrix zurück. Der erste Wert ist die Anzahl der Einzelwerte, der zweite die Anzahl der 2er, der 3. die Anzahl der 3er usw.
    Bei neuem Excel ist es eine Spill-Funktion, bei altem Excel muss man sie als Matrixfunktion mit entsprechendem erwartetem Ausgabebereich eingeben.

    Der Aufruf mit =Nachbarn(B2:AF2) führt zur Ausgabe von 1 1 0 0 2
    Soll heißen 1x 1 Tag, 1x 2 Tage, 0x 3 Tage, 0x 4 Tage, 2x 5 Tage
     
    HKindler, 21. Februar 2023
    #4
  5. neopa C Erfahrener User
    Hallo ebjo11,

    bis jetzt hast Du meine Hinweise nur zT (Einstellung einer Datei) realisiert, wie ich mich gerade überzeugt habe. Verweise wenigsten jetzt in den anderen Foren auf dieses hier.

    Es gibt übrigens zu Deiner Problemstellung auch Lösungen ohne VBA. Dann am einfachsten mit einer Hilfstabelle, in welcher nur Formeln eingesetzt werden müssen, die nur + und * bedürfen. Für die Ergebnisauswertung reicht dann auch nur eine einfache Formel mit lediglich ZÄHLENWENNS() aus.
     
    neopa C, 21. Februar 2023
    #5
  6. ebjo11 Neuer User

    Vielen Dank hierzu erst einmal! Da ich mich erst in die VBA-Thematik einarbeiten werde, kann ich deinen Hinweis auf die Schnelle noch nicht umsetzen. Dennoch vielen Dank!

    Auf die Lösung ohne VBA komme ich gern zurück (dafür habe ich auch den anderen Thread geschlossen mit Verweis auf dieses Forum ;) ). Ich habe mir bereits Hilfstabellen erarbeitet, steuere hier allerdings in verschiedene Sackgassen. Für Unterstützung bin ich dankbar!

    Viele Grüße
     
  7. neopa C Erfahrener User
    Hallo ebjo11,

    nun dann sieh mal. Beachte lediglich, dass in nachstehender Tabelle A9:A11 nichts steht (also auch nicht ="")
    Die Formel B9 und B11 nach rechts und unten ziehend kopieren:

    Arbeitsblatt mit dem Namen 'Tabelle1'
     ABCDEFGHIJKLM
    1 1.12.13.14.15.16.17.18.19.110.111.112.1
    2Person A 11111      
    3Person B111     11  
    4Person C    111   1 
    5             
    6             
    7             
    8Hilfstabelle            
    9 012345000000
    10 123000001200
    11 000012300010
    12             
    13Person/ Anzahl123456789101112
    14Person A11  2       
    15Person B321         
    16Person C1 1         

    ZelleFormel
    B9=(B2+A9)*B2
    B14=ZÄHLENWENNS($C9:$AG9;0;$B9:$AF9;B$13)
    Verwendete Systemkomponenten: [Windows (32-bit) NT 6.02] MS Excel 2010
    Diese Tabelle wurde mit Tab2Html (v2.6.0) erstellt. ©Gerd alias Bamberg
     
    neopa C, 22. Februar 2023
    #7
  8. HKindler
    HKindler Erfahrener User

    Nebeneinanderliegende Zellen zählen

    Hi,

    Das Umsetzen ist nicht schwer. Kopiere meinen Code in ein allgemeines Modul.

    Dazu
    - Alt-F11 drücken (öffnet den VBA-Editor).
    - im Projekt-Explorer irgendwo innerhalb deiner Datei (=Projekt) ein Rechtsklick und Einfügen --> Modul auswählen
    Nebeneinanderliegende Zellen zählen 2023-02-22 09_36_58-Window.png
    - es öffnet sich ein Fenster und dort kopierst du den Code hinein
    Nebeneinanderliegende Zellen zählen 2023-02-22 09_38_35-Window.png

    Jetzt steht dir die Funktion Nachbarn() so wie jede normale Excel-Funktion zur Verfügung. Und immer daran denken, dass nun die Datei als *.xlsm gespeichert werden muss.

    Code:
    Tabellenblattname: Tabelle1
    ┌———┬—————————┬——————————┬——————————┬——————————┬——————————┬——————————┬——————————┬——————————┐
    │   │    A    │    B     │    C     │    D     │    E     │    F     │    G     │    H     │ by Rₐⁿgₑ²ᵀₑˣT
    ├———┼—————————┼——————————┼——————————┼——————————┼——————————┼——————————┼——————————┼——————————┤
    │ 1 │         │01.01.2023│02.01.2023│03.01.2023│04.01.2023│05.01.2023│06.01.2023│07.01.2023│
    ├———┼—————————┼——————————┼——————————┼——————————┼——————————┼——————————┼——————————┼——————————┤
    │ 2 │Person A │          │         1│         1│         1│         1│         1│          │
    ├———┼—————————┼——————————┼——————————┼——————————┼——————————┼——————————┼——————————┼——————————┤
    │ 3 │Person B │         1│         1│         1│          │          │          │          │
    ├———┼—————————┼——————————┼——————————┼——————————┼——————————┼——————————┼——————————┼——————————┤
    │ 4 │Person C │          │          │          │          │         1│         1│         1│
    ├———┼—————————┼——————————┼——————————┼——————————┼——————————┼——————————┼——————————┼——————————┤
    │ 5 │         │          │          │          │          │          │          │          │
    ├———┼—————————┼——————————┼——————————┼——————————┼——————————┼——————————┼——————————┼——————————┤
    │ 6 │Tage     │         1│         2│         3│         4│         5│         6│          │
    ├———┼—————————┼——————————┼——————————┼——————————┼——————————┼——————————┼——————————┼——————————┤
    │ 7 │Person A │         1│         1│         0│         0│         2│          │          │
    ├———┼—————————┼——————————┼——————————┼——————————┼——————————┼——————————┼——————————┼——————————┤
    │ 8 │Person B │         3│         2│         1│          │          │          │          │
    ├———┼—————————┼——————————┼——————————┼——————————┼——————————┼——————————┼——————————┼——————————┤
    │ 9 │Person C │         3│         0│         1│          │          │          │          │
    └———┴—————————┴——————————┴——————————┴——————————┴——————————┴——————————┴——————————┴——————————┘
    
     
    HKindler, 22. Februar 2023
    #8
  9. Exl121150 Erfahrener User
    Hallo,

    in Excel365 funktioniert das Ganze auch ohne VBA oder spezielle Hilfsformeln:
    in Zelle AH1 die Nummerierung von 1 bis 6: =SEQUENZ(1;6;1)
    in Zelle AH2: =LET(t;TEXTVERKETTEN("-";FALSCH;"";$B2:$AF2;""); su;"--"&WIEDERHOLEN("1-";AH$1)&"-"; ar;TEXTTEILEN(t;su); ANZAHL2(ar)-1)
    und diese in den Bereich AH2:AM4 kopieren (durch Ziehen am Formelkopierpunkt).
     
    Exl121150, 22. Februar 2023
    #9
  10. Exl121150 Erfahrener User
    Hallo,

    ich muss leider meine Formel etwas korrigieren - war ein Fehler enthalten (in Variable ar):
    Formel in Zelle AH2:
    =LET(zl;$B2:$AF2; ct;AH$1; z;"1"; t;"-"; tt;t&t;
    txt;WECHSELN(TEXTVERKETTEN(t;0;"";zl;"");tt;tt&tt); su;tt&WIEDERHOLEN(z&t;ct)&t; a;TEXTTEILEN(txt;su); ANZAHL2(a)-1)
     
    Exl121150, 22. Februar 2023
    #10
  11. neopa C Erfahrener User
    Hallo Anton,

    noch ist allerdings unklar, ob ebjo11 auch eine aktuelle Excelversion im Einsatz hast.

    In diesem Zusammenhang eine Frage, die Du mir vielleicht beantworten kannst. Kann man aus einer Exceldatei erkennen, mit welcher XL-Version diese zuletzt abgespeichert wurde und wenn ja wie?
     
  12. HKindler
    HKindler Erfahrener User
    Hi Werner,

    ich bin mir nicht sicher, aber wenn ich eine von dir eingestellte Datei in 7Zip öffne und dort dann docProps\app.xml anschaue, finde ich ganz am Ende folgenden Eintrag:
    Code:
    <AppVersion>14.0300</AppVersion>
    Wenn ich diese Datei dann mit meinem Excel speichere und mir dieselbe Stelle anschaue, dann steht dort
    Code:
    <AppVersion>16.0300</AppVersion>
    Das scheint mir dann doch ein Hinweis auf die Excel-Version zu sein. Ich verwende
     
    HKindler, 22. Februar 2023
    #12
  13. neopa C Erfahrener User

    Nebeneinanderliegende Zellen zählen

    Hallo Helmut,

    zunächst erst einmal vielen Dank für diese Deine Info. Diese schien mir nach nur Lesen dessen als die Lösung für das von mir angefragte zu sein. Doch meine anschließend geführten Untersuchungen haben dies in Frage gestellt.

    Da ich für Formellösungen meistens noch XL2010 einsetze und diese von MS als Version 14.0.7268.500 deklariert ist erstellt diese Dateien, die mit <AppVersion>14.0300</AppVersion> in der Datei gekennzeichnet sind. Soweit noch i.O.

    Wenn ich PQ einsetze, nutze ich meine XL2016 er Version. Diese ist bei mir deklariert als Version 2301 (Build 16026.20146)
    Die damit von mir erstellten Dateien werden mit <AppVersion>16.0300</AppVersion> gekennzeichnet. Also genau so wie Du es für Deine XL365 Version angegeben hast. Damit wäre aber über das von Dir aufgezeigte, leider noch kein eindeutige Zuordnung der erstellenden XL-Version möglich, da Du ja für Deine Dateien auch <AppVersion>16.0300</AppVersion> festgestellt hast.

    Wie erklärt sich das?
     
  14. lupo1
    lupo1 Tutorial Guru
    Die Version 16.03 ist danach nicht weiter angestiegen. In einem Forum gab es eine Diskussion dazu. Schlimmer Murks! Denn wozu gibt es dann solche Informationen, wenn sie in die Irre führen ...
     
  15. neopa C Erfahrener User
    Hallo lupo1,

    aber nicht nur da sondern auch bei den anderen Versionsangaben.
    Meine XL2016:

    Und Helmut gibt für seine XL365 an:
    Wer kann da noch den Durchblick behalten?

    [Nachtrag:] Findest Du noch den thread, wo bereits hierzu diskutiert wurde? Könntest Du dann bitte den Link zu diesem hier einstellen?
     
    Zuletzt bearbeitet: 22. Februar 2023
Thema:

Nebeneinanderliegende Zellen zählen

Die Seite wird geladen...
  1. Nebeneinanderliegende Zellen zählen - Similar Threads - Nebeneinanderliegende Zellen zählen

  2. Eine Zelle blinken lassen

    in Microsoft Excel Hilfe
    Eine Zelle blinken lassen: Wünsche einen schönen Sonntag in die Runde. Ich habe einen VBA Code, um eine Zelle blinken zu lassen. Nun kann ich das Blinken nur im VBA Code starten. Ich hatte mir vorgestellt, dass wenn ich das...
  3. Daten Einlesen aus mehre Zellen in Verbindung einer Verbundene Zelle

    in Microsoft Excel Hilfe
    Daten Einlesen aus mehre Zellen in Verbindung einer Verbundene Zelle: Moin Allerseits, mit Verlaub ich bin seit 5 Jahren aus der Materie raus, fange somit von Vorne an. Frage: Anpassung eines bereits Geschrieben Codes. Verwendete Elemente: Quelle> Tabelle "wsLK",...
  4. Hochzählen Zelle Excel oder Office365?

    in Microsoft Excel Hilfe
    Hochzählen Zelle Excel oder Office365?: Hallo zusammen Ich möchte im Excel eine Spalte mit den Schaltknopf hochzählen. Lokal funktioniert es einwandfrei, wie könnte ich es lösen da verschiedene Personen die gleiche Datei öffnen müssen,...
  5. Zelleninhalte in andere Zelle mit Komma getrennt

    in Microsoft Excel Hilfe
    Zelleninhalte in andere Zelle mit Komma getrennt: Hallo, ich weiß nicht, ob ich im EXCEL Bereich richtig bin, da es sich um eine Tabelle aus einer Access Datenbank handelt. Allerdings müsste ich "nur" in dieser Tabelle einiges ändern: Für jeden...
  6. In einer Zelle Zahlen erkennen und trennen

    in Microsoft Excel Hilfe
    In einer Zelle Zahlen erkennen und trennen: Guten Tag zusammen Ich habe folgende Daten in einer Zelle und muss diese in mehrere Spalten aufteilen, insbesondere benötige ich die Zahl, die hinter dem X steht PKP210SX90AOS08...
  7. Formularsteuerelement Textfeld: Selbe Formatierung wie verlinkte Zelle?

    in Microsoft Excel Hilfe
    Formularsteuerelement Textfeld: Selbe Formatierung wie verlinkte Zelle?: Hallo, ich bin ja gerade dabei ein Bestellformular mit Excel zu realisieren. Das ganze sieht soweit auch schon sehr gut aus und funktioniert weitgehendst. Die Textfelder sind nun alle verlinkt...
  8. Teilstring einer Zelle auf Wert aus anderer Zelle überprüfen

    in Microsoft Excel Hilfe
    Teilstring einer Zelle auf Wert aus anderer Zelle überprüfen: Hallo zusammen, ich habe in einer Excel-Tabelle in zwei Tabellenblätter. Tabellenblatt "Artikelstamm" beinhaltet in Spalte A eine Artikel-Nr. und diverse weitere Spalten. Hier ein kleiner Auszug:...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden