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. Zelle Nach Wörtern durchsuchen und zurückgeben?

    in Microsoft Excel Hilfe
    Zelle Nach Wörtern durchsuchen und zurückgeben?: Hallo, ich möchte eine Liste mit Dekosteinen Filtern können. Da frage ich mich gerade, ob man eine Zelle nach bestimmten Oberbegriffen Filtern kann, bzw. dachte ich es so, dass eine Zeile (die...
  3. Ausgewählte Zelle auf einen bestimmten Platz springen lassen.

    in Microsoft Excel Hilfe
    Ausgewählte Zelle auf einen bestimmten Platz springen lassen.: Hallo mal wieder nach langer Zeit, vorab: ja ich habe gesucht, aber ich weiß nicht, wie ich mein Problem benennen soll. Folgendes Szenario: Eine Anwesenheitstabelle, zehn Namen, das Ganze Jahr...
  4. Excel Zellen und Spalten aus/einblenden

    in Microsoft Excel Hilfe
    Excel Zellen und Spalten aus/einblenden: Guten Tag, Ich bin neu hier im Forum. Und habe ein Problem das ich nicht lösen kann. Es geht um folgendes: Ich möchte Zeilen sowie auch Spalten aus bzw. auch wieder einblenden. Jeder Code für sich...
  5. Berücksichtigen von nur 1 Zelle und mehr als 1 Zelle

    in Microsoft Excel Hilfe
    Berücksichtigen von nur 1 Zelle und mehr als 1 Zelle: Guten Abend zusammen, der nachfolgende Code läuft nur, wenn es mindestens 2 Zellen gibt. Wie müsste der Code angepasst werden, wenn es als Möglichkeit nur eine Zelle gibt ? Danke für Deine...
  6. DropDown öffnen bei anwählen (.Select) einer Zelle

    in Microsoft Excel Hilfe
    DropDown öffnen bei anwählen (.Select) einer Zelle: Hallo und guten Abend, ich suche nach einem unter Office 365 funktionierenden VBA-Code, um ein DropDown-Menü direkt zu öffnen, wenn man die betreffenden Zelle anwählt, OHNE das NUMLOCK jedes mal...
  7. Zelle per VBA auf ihren Inhalt prüfen und reagieren sowie bei Änderung

    in Microsoft Excel Hilfe
    Zelle per VBA auf ihren Inhalt prüfen und reagieren sowie bei Änderung: Hallo zusammen, ich habe mit etwas verheddert und hoffe auf Eure Hilfe. Die Felder B111 und B112 sind zu Beginn LEER. B111 bietet ein Dropdown-Menü an, welches im Falle der Auswahl "Angebot mit...
  8. Prüfung unterschiedlicher Zellen auf Inhalt und Konsequenz

    in Microsoft Excel Hilfe
    Prüfung unterschiedlicher Zellen auf Inhalt und Konsequenz: Hallo zusammen, ich habe einen Code, bei dem ich mehrere voneinander getrennte Zellen auf Befüllung prüfe. Wenn ich mindestens eine nicht befülle, erscheint eine Fehlermeldung und das Script...
  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