Element einer Liste - ja oder nein

Werte Wissende,

ich habe eine Liste mit Nummern. In einer anderen Tabelle habe ich viele Datensätze. Nun möchte ich wissen, ob diese Nummern Elemente der Liste sind, um diese dann in einer Spalte als Element der Liste zu kennzeichnen (z.B. mit einer 1 oder x). Excel soll also überprüfen, ob eine Nummer Element einer anderen Liste ist und dann diese kennzeichnen. Ich hoffe Ihr habt´s kapiert!

viele Grüße

Ulla

Grüezi Ulla

ich habe eine Liste mit Nummern. In einer anderen Tabelle habe
ich viele Datensätze. Nun möchte ich wissen, ob diese Nummern
Elemente der Liste sind, um diese dann in einer Spalte als
Element der Liste zu kennzeichnen (z.B. mit einer 1 oder x).
Excel soll also überprüfen, ob eine Nummer Element einer
anderen Liste ist und dann diese kennzeichnen.

Das kannst Du wie folgt mit ZÄHLENWENN() lösen:

Tabellenblatt: [Mappe1]!Tabelle1
 │ A │ B │ C │ D │
───┼───────┼───┼─────────┼──────────┤
 1 │ Liste │ │ Nummern │ in Liste │
───┼───────┼───┼─────────┼──────────┤
 2 │ 5 │ │ 13 │ │
───┼───────┼───┼─────────┼──────────┤
 3 │ 3 │ │ 5 │ x │
───┼───────┼───┼─────────┼──────────┤
 4 │ 6 │ │ 48 │ │
───┼───────┼───┼─────────┼──────────┤
 5 │ 19 │ │ 28 │ │
───┼───────┼───┼─────────┼──────────┤
 6 │ 18 │ │ 32 │ │
───┼───────┼───┼─────────┼──────────┤
 7 │ 9 │ │ 25 │ │
───┼───────┼───┼─────────┼──────────┤
 8 │ 14 │ │ 46 │ │
───┼───────┼───┼─────────┼──────────┤
 9 │ 2 │ │ 15 │ │
───┼───────┼───┼─────────┼──────────┤
10 │ 8 │ │ 45 │ │
───┼───────┼───┼─────────┼──────────┤
11 │ 8 │ │ 38 │ │
───┼───────┼───┼─────────┼──────────┤
12 │ 12 │ │ 5 │ x │
───┼───────┼───┼─────────┼──────────┤
13 │ 2 │ │ 4 │ │
───┴───────┴───┴─────────┴──────────┘
Benutzte Formeln:
D2 : =WENN(ZÄHLENWENN(A:A;C2);"x";"")

A1:smiley:13
haben das Zahlenformat: Standard

Tabellendarstellung erreicht mit dem Code in FAQ:2363


Mit freundlichen Grüssen

Thomas Ramel

  • MVP für MS-Excel -

Ulla

http://www.uploadarea.de/files/guvkuye7j9bklp7gni4zv…

mfG Hermes

Thomas Ramel

  • MVP für MS-Excel -

Hallo Thomas
wenn ich die Fragestellerin richtig verstehe, will sie übereinstimmende Nummern einfach nur (per Formel) kennzeichnen (nicht zählen).
Gruß Hermann

Grüezi Hermes

wenn ich die Fragestellerin richtig verstehe, will sie
übereinstimmende Nummern einfach nur (per Formel) kennzeichnen
(nicht zählen).

Ja, das hatte ich auch so verstanden - und IMO macht die vorgeschlagene Formel nichts anderes.
Hast Du sie denn getestet…?

ZÄHLENWENN() verwende ich bloss deshalb weil sie bei grösseren Datenmengen schneller arbeitet als SVERWEIS(), die einen Rückgabewert liefert, der auch nicht notwenig ist.

Beide Formeln sind daher ‚nur‘ Krücken um eine Indikation zu liefern, ob der Wert überhaupt vorhanden ist - VERGLEICH() wäre übrigens noch eine weitere in dieser Gruppe.


Mit freundlichen Grüssen

Thomas Ramel

  • MVP für MS-Excel -

Grüezi Thomas

ZÄHLENWENN() verwende ich bloss deshalb weil sie bei grösseren
Datenmengen schneller arbeitet als SVERWEIS(), die einen
Rückgabewert liefert, der auch nicht notwenig ist.

Ah…interessant.
Danke für die Info
Allerdings ist man mit „Zählenwenn“ darauf angewiesen, dass in der Nummernreihe keine Nummer doppelt vorhanden ist, weil sonst die Ausgabe „2“ wäre.
Aber gut damit kann man auch leben :smile:

Mit freundlichen Grüssen

Hermann

ZÄHLENWENN() verwende ich bloss deshalb weil sie bei grösseren
Datenmengen schneller arbeitet als SVERWEIS(), die einen
Rückgabewert liefert, der auch nicht notwenig ist.
Beide Formeln sind daher ‚nur‘ Krücken um eine Indikation zu
liefern, ob der Wert überhaupt vorhanden ist - VERGLEICH()
wäre übrigens noch eine weitere in dieser Gruppe.

Grüezi Thomas,

schön daß du wieder da bist:smile:

Mein nachfolgender Code zeigt mir, daß zumindest bei Aufruf durch Vba SVerweis schneller ist als Zählenwenn.

Was in der vorliegenden Anfrage für Zählenwenn spricht ist daß kein Fehler kommt wenn etwas nicht gefunden wird und man erspart sich bis vor XL2007 die Fehlerbehandlung in der Formel.

Gruß
Reinhard

Sub Test()
Dim T As Single, Spa As Long, x As Long, N As Long
Range("A40000") = "Huhu"
Range("B40000") = 40000
For Spa = 1 To 10
 T = Timer
 For N = 1 To 100
 x = Application.WorksheetFunction.CountIf(Columns(1), "Huhu")
 Next N
 Cells(1, Spa) = Timer - T
Next Spa
For Spa = 1 To 10
 T = Timer
 For N = 1 To 100
 x = Application.WorksheetFunction.VLookup("Huhu", Range("A:B"), 2, 0)
 Next N
 Cells(2, Spa) = Timer - T
Next Spa
For Spa = 1 To 10
 T = Timer
 For N = 1 To 100
 x = Application.WorksheetFunction.Match("Huhu", Range("A:A"), 0)
 Next N
 Cells(3, Spa) = Timer - T
Next Spa
Range("K1:K3").Formula = "=sum(A1:J1)/10"
End Sub

Grüezi Hermes

ZÄHLENWENN() verwende ich bloss deshalb weil sie bei grösseren
Datenmengen schneller arbeitet als SVERWEIS(), die einen
Rückgabewert liefert, der auch nicht notwenig ist.

Ah…interessant.
Danke für die Info

Aber gerne doch. :smile:

Allerdings ist man mit „Zählenwenn“ darauf angewiesen, dass in
der Nummernreihe keine Nummer doppelt vorhanden ist, weil
sonst die Ausgabe „2“ wäre.

Das ist korrekt - man prüfe dann halt auf ‚>0‘ - in der oben genannten Konstellation ist das aber irrelevant.


Mit freundlichen Grüssen

Thomas Ramel

  • MVP für MS-Excel -

Grüezi Reinhard

ZÄHLENWENN() verwende ich bloss deshalb weil sie bei grösseren
Datenmengen schneller arbeitet als SVERWEIS(), die einen
Rückgabewert liefert, der auch nicht notwenig ist.
Beide Formeln sind daher ‚nur‘ Krücken um eine Indikation zu
liefern, ob der Wert überhaupt vorhanden ist - VERGLEICH()
wäre übrigens noch eine weitere in dieser Gruppe.

schön daß du wieder da bist:smile:

Ja, finde ich auch - der Urlaub war schön, das Wetter ebenfalls und die Berge haben gut getan :smile:

Mein nachfolgender Code zeigt mir, daß zumindest bei Aufruf
durch Vba SVerweis schneller ist als Zählenwenn.

Wir hatten von Funktionen im Tabellenblatt gesprochen und wollten auch prüfen, ob der Wert denn wirklcih vorhanden ist.

Ist er nicht da, läuft Vlookup in einen Fehler.

Was in der vorliegenden Anfrage für Zählenwenn spricht ist daß
kein Fehler kommt wenn etwas nicht gefunden wird und man
erspart sich bis vor XL2007 die Fehlerbehandlung in der
Formel.

Auch das ist ein Vorteil, ja.


Mit freundlichen Grüssen

Thomas Ramel

  • MVP für MS-Excel -

Grüezi Thomas,

schön daß du wieder da bist:smile:

Ja, finde ich auch - der Urlaub war schön, das Wetter
ebenfalls und die Berge haben gut getan :smile:

wie watt Urlaub? Ich dachte du wärst in die Berge gegangen um fern aller Versuchungen, auf der Alm gibts ja keine Sünd, dich ganz der FAQ:2363 zu widmen damit sie auch *hmm* äh NichtSchweizer benutzen können :smile:)

Mein nachfolgender Code zeigt mir, daß zumindest bei Aufruf
durch Vba SVerweis schneller ist als Zählenwenn.

Wir hatten von Funktionen im Tabellenblatt gesprochen und
wollten auch prüfen, ob der Wert denn wirklcih vorhanden ist.

Nix da, du sprachst von „schneller“ *gg*
Außerdem habe ich vorhin nochmal auf die gleiche Weise das Vba-Find getestet, es ist noch zigmal schneller als alle anderen Worksheetfunktionen wie vlookup usw.

Gruß
Reinhard

Vielen Dank für Eure Hilfe,
ich habe jetzt sowohl die Formel mit zählenwenn als auch mit sverweis ausprobiert - und beide funktionieren. Bei sverweis muss die erste Spalte der Matrix ja immer sortiert sein - ist das bei zählenwenn auch so?
Liebe Grüße

Ulla

ich habe jetzt sowohl die Formel mit zählenwenn als auch mit
sverweis ausprobiert - und beide funktionieren. Bei sverweis
muss die erste Spalte der Matrix ja immer sortiert sein - ist
das bei zählenwenn auch so?

Hi Ulla,

Zählenwenn ist es wurscht ob der Bereich sortiert ist.

Sverweis auch, wenn der vierte Parameter die 0 ist.

Gruß
Reinhard

Grüezi Reinhard

schön daß du wieder da bist:smile:

Ja, finde ich auch - der Urlaub war schön, das Wetter
ebenfalls und die Berge haben gut getan :smile:

wie watt Urlaub? Ich dachte du wärst in die Berge gegangen um
fern aller Versuchungen, auf der Alm gibts ja keine Sünd, dich
ganz der FAQ:2363 zu widmen damit sie auch *hmm* äh
NichtSchweizer benutzen können :smile:)

Denkste - hä! :wink:

Mein nachfolgender Code zeigt mir, daß zumindest bei Aufruf
durch Vba SVerweis schneller ist als Zählenwenn.

Wir hatten von Funktionen im Tabellenblatt gesprochen und
wollten auch prüfen, ob der Wert denn wirklcih vorhanden ist.

Nix da, du sprachst von „schneller“ *gg*

Gemeint war als Formel im Tabellenblatt - was Du dann hineininterpretierst tut nichts zur Sache… :wink:

Außerdem habe ich vorhin nochmal auf die gleiche Weise das
Vba-Find getestet, es ist noch zigmal schneller als alle
anderen Worksheetfunktionen wie vlookup usw.

Ja, das ist dann nochmals eine andere Liga, aber wie gesagt ausser Konkurrenz.


Mit freundlichen Grüssen

Thomas Ramel

  • MVP für MS-Excel -