Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1720to1724
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

zählenwenn links von Buchstaben

zählenwenn links von Buchstaben
30.10.2019 14:55:44
Buchstaben
Hallo, ich habe folgendes Problem:
Zeile 5 zählt alle Ziffern von 1 bis 6 je Spalte. (soll später auf 1 bis 9 erweitert werden)
Es sollen aber nur alle Ziffern von 1 bis 6 links des ersten Buchstaben gezählt werden.
Also müsste in AC5 die Summe 7 und in AD5 die Summe 8 ergeben. AE5 ist richtig.
Gibt’s da eine Lösung?
zählen

 ACADAE
59106
6   
7Spalte29Spalte30Spalte31
8   
10   
131 3 56  gfjd34 skdj34
14skdgfh 23 
1511212
165 212 56 ksljd5 6
17rsj 160 
18   

Formeln der Tabelle
ZelleFormel
AC5=SUMME(ZÄHLENWENN(AC8:AC100;"*1*"); ZÄHLENWENN(AC8:AC100;"*2*"); ZÄHLENWENN(AC8:AC100;"*3*"); ZÄHLENWENN(AC8:AC100;"*4*"); ZÄHLENWENN(AC8:AC100;"*5*"); ZÄHLENWENN(AC8:AC100;"*6*"))
AD5=SUMME(ZÄHLENWENN(AD8:AD100;"*1*"); ZÄHLENWENN(AD8:AD100;"*2*"); ZÄHLENWENN(AD8:AD100;"*3*"); ZÄHLENWENN(AD8:AD100;"*4*"); ZÄHLENWENN(AD8:AD100;"*5*"); ZÄHLENWENN(AD8:AD100;"*6*"))
AE5=SUMME(ZÄHLENWENN(AE8:AE100;"*1*"); ZÄHLENWENN(AE8:AE100;"*2*"); ZÄHLENWENN(AE8:AE100;"*3*"); ZÄHLENWENN(AE8:AE100;"*4*"); ZÄHLENWENN(AE8:AE100;"*5*"); ZÄHLENWENN(AE8:AE100;"*6*"))


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA? (owT)
30.10.2019 16:14:39
Fennek
AW: VBA? (owT)
31.10.2019 10:25:07
thomas
VBA einfügen geht, aber selber herstellen wird nichts.
AW: nachgefragt ...
30.10.2019 16:19:29
neopa
Hallo Thomas,
... wie viele Spaltenbereiche sind denn ca. auszuwerten? Auf den ersten Blick würde ich als Formellösung eine mit Hilfsspalten in gleicher Anzahl an Spalten vorschlagen. Alternativ würde ich auch noch einmal über PowerQuery-Lösung nachdenken.
Des weiteren, kommen auch schon Ziffern &gt6 vor? Wenn ja, sind diese dann wie Buchstaben zu betrachten, d.h Ziffern danach werden nicht mehr gezählt, oder?
Gruß Werner
.. , - ...
AW: die Hilfsspaltenformellösung ...
30.10.2019 19:22:29
neopa
Hallo,
... zunächst unter der Annahme dass nur Ziffern 1 bis 6 auszuwerten sind und außer diesen und 0en keine anderen vorhanden sind (wenn doch, dann sieh dazu meine vorhergehende Fragestellung) und ab z.B. Spalte BC freie Spalten vorhanden sind, dann folgende Formel in BC8:
=LINKS(WECHSELN(WECHSELN(AC8;" ";"");0;"");AGGREGAT(15;6;ZEILE($A$1:$A$99)/ISTFEHL(TEIL(WECHSELN(WECHSELN(AC8;" ";"");0;"")&"x";ZEILE($A$1:$A$99);1)+0);1)-1)
und diese Formel soweit nach rechts ziehend kopieren wie notwendig (im Beispiel noch zwei Spalten) und dann diese alle bis Zeile 100 ziehend nach unten kopieren.
Dann in AC5 folgende Ergebnisformel: =SUMMENPRODUKT(LÄNGE(BC8:BC100)) und nach rechts ziehend kopieren.
Gruß Werner
.. , - ...
Anzeige
AW: die Hilfsspaltenformellösung ...
31.10.2019 10:22:47
thomas
Hallo Werner,
der auszuwertenden Bereich geht bei D9 los und zieht sich nach rechts und bis Zeile 100. Alle Spalten nach rechts, ab D sind Tage, also als Kalender nach rechts erweiterbar. Mehr als 2 Jahre soll es aber nicht werden.
alle Ziffern 1 bis 9 sollen ausgewertet und die Anzahl gezählt werden. Sobald ein Buchstabe in der Zelle auftaucht, sollen die dann nach rechts folgenden Ziffern keine Bedeutung für die Formel zum zusammenzählen, haben.
deine erste Formel müsste quasi nach meiner Tabelle, ab Spalte ca. 735, für die nächsten 730 spalten eingefügt werden. meinst du das so?
ob das auch mit VBA geht weiß ich nicht.
Gruß Thomas
Anzeige
AW: ja, so meinte ich es, jedoch ...
31.10.2019 10:36:00
neopa
Hallo Thomas,
... wenn Du so wirklich 732 Spalten auswerten willst, würden demzufolge auch genauso viel Hilfsspalten benötigt. Ist so wie von mir vorgeschlagen machbar (einfach meine Hilfsspaltenformel entsprechend von Spalte AC auf Spalte D und die Auswertungsformel in AC5 auf die dann jeweilige 1. Hilfsspalte anpassen. Aber eine VBA-Lösung sollte da effizienter sein. Aber aus VBA-Lösungsangeboten halte ich mich heraus.
Gruß Werner
.. , - ...
AW: ja, so meinte ich es, jedoch ...
01.11.2019 13:02:00
thomas
habs ausprobiert
leider werden alle Buchstaben mitgezählt
Bei meiner Fml nicht! owT
01.11.2019 13:11:23
Luc:-?
:-?
AW: bei meinem Vorschlag auch nicht, denn ...
01.11.2019 13:35:20
neopa
Hallo Thomas,
... sieh mal (Formel AC5 nach rechts und Hilfszellenformel BC8 nach rechts und unten ziehend kopieren):
Arbeitsblatt mit dem Namen 'AGGR_191030_1'
 ABACADAEAFBCBDBEBF
4         
5 786     
6         
7         
8         
9         
10         
11         
12         
13 1 3 56  gfjd034 skdj34 13563434 
14 skdgfh 23      
15 11212 11212 
16 5 212 56 ksljd5 6 52125656 
17 rsj 160      
18         

ZelleFormel
AC5=SUMMENPRODUKT(LÄNGE(BC8:BC100))
BC8=LINKS(WECHSELN(WECHSELN(AC8;" ";"");0;"");AGGREGAT(15;6;ZEILE($A$1:$A$99)/ISTFEHL(TEIL(WECHSELN(WECHSELN(AC8;" ";"");0;"")&"x";ZEILE($A$1:$A$99);1)+0);1)-1)
Verwendete Systemkomponenten: [Windows (32-bit) NT 6.02] MS Excel 2010
Diese Tabelle wurde mit Tab2Html (v2.6.0) erstellt. ©Gerd alias Bamberg

Gruß Werner
.. , - ...
Anzeige
AW: bei meinem Vorschlag auch nicht, denn ...
01.11.2019 17:14:14
thomas
Hallo Werner,
mein test sieht so aus
Tabelle1

 DEFGHIJ
718206    
81 3 56  gfjd34 skdj34  1356gfj34skdj34
9skdgfh 23  skdgfh23 
1011212 11212
115 212 56 ksljd5 6 521256ksl56
12rsj 160  rsj16  
13       
14       
15       

Formeln der Tabelle
ZelleFormel
D7=SUMMENPRODUKT(LÄNGE(H8:H15))
E7=SUMMENPRODUKT(LÄNGE(I8:I15))
F7=SUMMENPRODUKT(LÄNGE(J8:J15))
H8=LINKS(WECHSELN(WECHSELN(D8;" ";""); 0;""); AGGREGAT(15;6;ZEILE($D$8:$D$15)/ISTFEHL(TEIL(WECHSELN(WECHSELN(D8;" ";""); 0;"")&"x";ZEILE($D$8:$D$15); 1)+0); 1)-1)
I8=LINKS(WECHSELN(WECHSELN(E8;" ";""); 0;""); AGGREGAT(15;6;ZEILE($D$8:$D$15)/ISTFEHL(TEIL(WECHSELN(WECHSELN(E8;" ";""); 0;"")&"x";ZEILE($D$8:$D$15); 1)+0); 1)-1)
J8=LINKS(WECHSELN(WECHSELN(F8;" ";""); 0;""); AGGREGAT(15;6;ZEILE($D$8:$D$15)/ISTFEHL(TEIL(WECHSELN(WECHSELN(F8;" ";""); 0;"")&"x";ZEILE($D$8:$D$15); 1)+0); 1)-1)
H9=LINKS(WECHSELN(WECHSELN(D9;" ";""); 0;""); AGGREGAT(15;6;ZEILE($D$8:$D$15)/ISTFEHL(TEIL(WECHSELN(WECHSELN(D9;" ";""); 0;"")&"x";ZEILE($D$8:$D$15); 1)+0); 1)-1)
I9=LINKS(WECHSELN(WECHSELN(E9;" ";""); 0;""); AGGREGAT(15;6;ZEILE($D$8:$D$15)/ISTFEHL(TEIL(WECHSELN(WECHSELN(E9;" ";""); 0;"")&"x";ZEILE($D$8:$D$15); 1)+0); 1)-1)
J9=LINKS(WECHSELN(WECHSELN(F9;" ";""); 0;""); AGGREGAT(15;6;ZEILE($D$8:$D$15)/ISTFEHL(TEIL(WECHSELN(WECHSELN(F9;" ";""); 0;"")&"x";ZEILE($D$8:$D$15); 1)+0); 1)-1)
H10=LINKS(WECHSELN(WECHSELN(D10;" ";""); 0;""); AGGREGAT(15;6;ZEILE($D$8:$D$15)/ISTFEHL(TEIL(WECHSELN(WECHSELN(D10;" ";""); 0;"")&"x";ZEILE($D$8:$D$15); 1)+0); 1)-1)
I10=LINKS(WECHSELN(WECHSELN(E10;" ";""); 0;""); AGGREGAT(15;6;ZEILE($D$8:$D$15)/ISTFEHL(TEIL(WECHSELN(WECHSELN(E10;" ";""); 0;"")&"x";ZEILE($D$8:$D$15); 1)+0); 1)-1)
J10=LINKS(WECHSELN(WECHSELN(F10;" ";""); 0;""); AGGREGAT(15;6;ZEILE($D$8:$D$15)/ISTFEHL(TEIL(WECHSELN(WECHSELN(F10;" ";""); 0;"")&"x";ZEILE($D$8:$D$15); 1)+0); 1)-1)
H11=LINKS(WECHSELN(WECHSELN(D11;" ";""); 0;""); AGGREGAT(15;6;ZEILE($D$8:$D$15)/ISTFEHL(TEIL(WECHSELN(WECHSELN(D11;" ";""); 0;"")&"x";ZEILE($D$8:$D$15); 1)+0); 1)-1)
I11=LINKS(WECHSELN(WECHSELN(E11;" ";""); 0;""); AGGREGAT(15;6;ZEILE($D$8:$D$15)/ISTFEHL(TEIL(WECHSELN(WECHSELN(E11;" ";""); 0;"")&"x";ZEILE($D$8:$D$15); 1)+0); 1)-1)
J11=LINKS(WECHSELN(WECHSELN(F11;" ";""); 0;""); AGGREGAT(15;6;ZEILE($D$8:$D$15)/ISTFEHL(TEIL(WECHSELN(WECHSELN(F11;" ";""); 0;"")&"x";ZEILE($D$8:$D$15); 1)+0); 1)-1)
H12=LINKS(WECHSELN(WECHSELN(D12;" ";""); 0;""); AGGREGAT(15;6;ZEILE($D$8:$D$15)/ISTFEHL(TEIL(WECHSELN(WECHSELN(D12;" ";""); 0;"")&"x";ZEILE($D$8:$D$15); 1)+0); 1)-1)
I12=LINKS(WECHSELN(WECHSELN(E12;" ";""); 0;""); AGGREGAT(15;6;ZEILE($D$8:$D$15)/ISTFEHL(TEIL(WECHSELN(WECHSELN(E12;" ";""); 0;"")&"x";ZEILE($D$8:$D$15); 1)+0); 1)-1)
J12=LINKS(WECHSELN(WECHSELN(F12;" ";""); 0;""); AGGREGAT(15;6;ZEILE($D$8:$D$15)/ISTFEHL(TEIL(WECHSELN(WECHSELN(F12;" ";""); 0;"")&"x";ZEILE($D$8:$D$15); 1)+0); 1)-1)
H13=LINKS(WECHSELN(WECHSELN(D13;" ";""); 0;""); AGGREGAT(15;6;ZEILE($D$8:$D$15)/ISTFEHL(TEIL(WECHSELN(WECHSELN(D13;" ";""); 0;"")&"x";ZEILE($D$8:$D$15); 1)+0); 1)-1)
I13=LINKS(WECHSELN(WECHSELN(E13;" ";""); 0;""); AGGREGAT(15;6;ZEILE($D$8:$D$15)/ISTFEHL(TEIL(WECHSELN(WECHSELN(E13;" ";""); 0;"")&"x";ZEILE($D$8:$D$15); 1)+0); 1)-1)
J13=LINKS(WECHSELN(WECHSELN(F13;" ";""); 0;""); AGGREGAT(15;6;ZEILE($D$8:$D$15)/ISTFEHL(TEIL(WECHSELN(WECHSELN(F13;" ";""); 0;"")&"x";ZEILE($D$8:$D$15); 1)+0); 1)-1)
H14=LINKS(WECHSELN(WECHSELN(D14;" ";""); 0;""); AGGREGAT(15;6;ZEILE($D$8:$D$15)/ISTFEHL(TEIL(WECHSELN(WECHSELN(D14;" ";""); 0;"")&"x";ZEILE($D$8:$D$15); 1)+0); 1)-1)
I14=LINKS(WECHSELN(WECHSELN(E14;" ";""); 0;""); AGGREGAT(15;6;ZEILE($D$8:$D$15)/ISTFEHL(TEIL(WECHSELN(WECHSELN(E14;" ";""); 0;"")&"x";ZEILE($D$8:$D$15); 1)+0); 1)-1)
J14=LINKS(WECHSELN(WECHSELN(F14;" ";""); 0;""); AGGREGAT(15;6;ZEILE($D$8:$D$15)/ISTFEHL(TEIL(WECHSELN(WECHSELN(F14;" ";""); 0;"")&"x";ZEILE($D$8:$D$15); 1)+0); 1)-1)
H15=LINKS(WECHSELN(WECHSELN(D15;" ";""); 0;""); AGGREGAT(15;6;ZEILE($D$8:$D$15)/ISTFEHL(TEIL(WECHSELN(WECHSELN(D15;" ";""); 0;"")&"x";ZEILE($D$8:$D$15); 1)+0); 1)-1)
I15=LINKS(WECHSELN(WECHSELN(E15;" ";""); 0;""); AGGREGAT(15;6;ZEILE($D$8:$D$15)/ISTFEHL(TEIL(WECHSELN(WECHSELN(E15;" ";""); 0;"")&"x";ZEILE($D$8:$D$15); 1)+0); 1)-1)
J15=LINKS(WECHSELN(WECHSELN(F15;" ";""); 0;""); AGGREGAT(15;6;ZEILE($D$8:$D$15)/ISTFEHL(TEIL(WECHSELN(WECHSELN(F15;" ";""); 0;"")&"x";ZEILE($D$8:$D$15); 1)+0); 1)-1)


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8
Anzeige
AW: hast meine Formel inkorrekt abgeändert ...
01.11.2019 18:20:35
neopa
Hallo Thomas,
... Dein eingesetztes ...ZEILE($D$8:$D$15).. ist falsch. Anstelle darin bei 8 zu beginnen, musst Du zwingend bei 1 beginnen. Die 15 dagegen sind für die Beispieldaten ok.
Gruß Werner
.. , - ...
AW: bei meinem Vorschlag auch nicht, denn ...
01.11.2019 17:27:55
thomas
Hallo Werner,
hab den test nochmal anders gemacht und dann klappt es
kannst du erklären warum der Bezug A1:A99 außerhalb von der auszuwertenden Zelle sein muss?
AW: hierzu ...
01.11.2019 18:25:09
neopa
Hallo Thomas,
... der "Bezug" A1:A99 wie Du schreibst steht in der Formel innerhalb der Funktion ZEILE() und ZEILE(A1:A99) ist dann gleichzusetzen mit 1 bis 99. Also: ab dem 1. Zeichen des Text bis zum (max.) 99. Zeichen wird jedes Textzeichen ausgewertet.
Gruß Werner
.. , - ...
Anzeige
Ohne Hilfsspalten, aber u.a. mit 2 UDFs
31.10.2019 19:28:41
Luc:-?
Hallo(ween), Thomas;
erst einmal bezweifle ich dein FmlErgebnis, denn bei mir ergibt deine Fml nur in AD5, nicht AE5, für das gezeigte Bsp dein Wunschergebnis: AC5:AE5⇒8 8 2 nicht 9 10 6 !
Das Wunschergebnis AC5:AE5⇒7 8 6 ergibt sich mit folgd singularer MatrixFml:
AC5[:AE5]: {=SUMME(LÄNGE(WECHSELN(LINKS(WECHSELN(AC13:AC100;" ";"");
MTRANS(TxEval(WECHSELN("match(0,--isnumber(VSplit(substitute("&ADRESSE(13;
SPALTE(AC1);4)&","" "","""")&""_"","""",1)),0)";13;ZEILE(13:100)))-1));0;"")))}
(Bzgl Erzeugen einer MatrixFml ggf in der Xl-Hilfe nachlesen!)
Die UDFs müssen im unter den nfolgd Links genannten Umfang in ein normales Modul der anwendenden Mappe kopiert wdn oder in einem in der Mappe aktiven AddIn enthalten sein. Ersteres bedingt die Speicherung der Mappe als .xlsm bzw .xlsb, während bei Letzterem auch .xlsx möglich ist, allerdings dann bei Weitergabe nur mit Werten, nicht mit solchen Fmln, es sei denn, der Empfänger hat ebenfalls dieses AddIn (.xlam) aktiviert.
UDF-Links:
TxEval (Vs1.0) https://www.herber.de/forum/archiv/1476to1480/1476498_Projektplan.html#1477400
VSplit (Vs1.1) https://www.herber.de/bbs/user/99024.xlsm (BspDatei mit UDFs)
Zur Funktionsweise der UDFs:
TxEval wertet einen FmlText in US-Notation aus. Die alte XLM-Fkt AUSWERTEN wertet dagg lokal notierte FmlTexte aus, aber nur in benannten Fmln (ebenfalls .xlsm/b-Speicherung erforderlich) und ist außerdem stärker der allgemeinen Xl-Regie unterworfen, so dass gerade das hier verwendete Wechseln der Zeilennr idR nicht adäquat fktioniert. (match = VERGLEICH, isnumber = ISTZAHL, substitute = WECHSELN und , = ;)
VSplit spaltet hier die EinzelTexte in Einzelzeichen auf und wandelt danach numerische Texte in echte Zahlen um.
Letzteres gilt hier prinzipiell für die Ziffern 0…9, wobei 0en anschließend entfernt wdn. Da das zuvor auch mit Leerzeichen gemacht und ein _ generell angehängt wurde, können die Längen der 1.Ziffernfolgen aufsummiert wdn, um das gewünschte GesamtErgebnis pro Spalte zu erhalten.
Gruß, Luc :-?
„Die universelle Befähigung zur Unfähigkeit macht jede menschliche Leistung zu einem unglaublichen Wunder.“ Stapps ironisches Paradoxon
Nichtsdestotrotz Durchblick verbessern mit …

Anzeige

307 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige