Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Funktion mit Zahl als Rückgabewert

Forumthread: Funktion mit Zahl als Rückgabewert

Funktion mit Zahl als Rückgabewert
12.08.2019 11:49:42
Worthmann
Hallo zusammen,
ich möchte gerne eine Funktion schreiben, die mir als Rückgabewert eine bestimmte Zahl liefert. Beispiel:
Ich habe eine Liste mit mehreren Namen, sagen wir 5
Sobald ich einen Namen per Drop Down Liste auswähle möchte ich, dass mir die Funktion ermittelt, ob der Name an Position 1,2,3,4 oder 5 steht. Der Rückgabewert der Funktion soll dann genau diese Zahl sein.
Bsp meine Liste:
1.Tom
2.Tim
3.Anna
4.Lisa
5.Susi
Wenn ich jetzt in einer Zelle per DropDown Liste Lisa auswähle, möchte ich, dass meine Funktion den Wert 4 hat.
Könnt ihr mir helfen? Wenn es möglich ist, würde ich eine Loop until Schleife haben wollen, aber da bin ich total offen. Jede Hilfe wäre Top!
Liebe Grüße und Danke!
Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
=VERGLEICH("Lisa";A:A;0)
12.08.2019 12:02:09
WF
.
AW: =VERGLEICH("Lisa";A:A;0)
12.08.2019 12:09:18
Worthmann
Hallo WF,
Die Match Funktion klappt aus irgendeinem Grund nicht bei mir. Deshalb muss ich diesen Umweg gehen..
"klappt nicht"
12.08.2019 12:23:55
WF
aha: die Lösung ist jetzt allen klar.
Anzeige
AW: =VERGLEICH("Lisa";A:A;0)
12.08.2019 12:24:09
Jens
Funktioniert bei mir tadellos!
Übergibst Du das Suchkriterium aus der Dropdownliste falsch?
Der Wert natürlich ab A1 berechnet.....evtl. muss Du den Bereich genau setzen oder die Zeilennummer des ersten Werts (+1 :-)) abziehen.
Gruß,
Jens
AW: wo steht denn Deine Namensliste? ...
12.08.2019 12:29:14
neopa
Hallo,
... und ist diese eine "Als Tabelle formatierte"? (D)eine kleine Beispieldatei als XLSX-Datei hier eingestellt hätte Klarheit gegeben.
Wenn Deine Namensliste nicht in der 1. Tabellenzeile beginnt, kann der reine VERGLEICH() auch nicht das gewünschte Ergebnis bringen. Da müsstest Du zumindest den "Zeilenversatz" addieren.
Allerdings würde ich auch alternativ eine AGGREGAT(15;6;...)-Formel vorschlagen.
Gruß Werner
.. , - ...
Anzeige
Hier schießt Du aber mal gehörig...
12.08.2019 18:52:17
{Boris}
Hi Werner,
...über das Ziel hinaus. Die Frage war simpel nach der Position eines Elements in einer eindimensionalen Matrix.
Genau dafür gibt es die Funktion VERGLEICH. Alles andere ist Kaffeesatzleserei bzw. „mit Kanonen auf Spatzen...“ (AGGREGAT). Und was hat „Als Tabelle formatiert“ zudem mit der Frage zu tun?
Oder hast Du Infos, die ich nicht habe?
VG Boris
Anzeige
AW: sah ich etwas anders ...
13.08.2019 08:33:25
neopa
Hallo Boris,
... wenn die VERGLEICH()-Formel beim TE nicht zum gewünschten Ergebnis führte, wie er schrieb, muss das ja eine Ursache haben. Da er seine Datei nicht eingestellt hat, hab ich ihm Hinweise gegeben, was er zumindest beachten sollte.
Für mich ist aber eine zu ermittelte Pos. in einer Namensliste eher ein Zwischenergebnis für die Ermittlung des von mir vermuteten wirklich angestrebten.
Mein letzter Satz im gestrigen Beitrag ist zugegebenermaßen für andere nicht verständlich und erscheint zusammenhanglos. Ich hatte dies im Zusammenhang mit Frage gesehen, ob die Liste diese eine "Als Tabelle formatierte" sei. Aber unzureichend dargelegt. Aber meine Fragestellung ist mE sehr wohl berechtigt.
Gruß Werner
.. , - ...
Anzeige
AW: =VERGLEICH("Lisa";A:A;0)
13.08.2019 08:47:41
Daniel
Hi
Verwende als Dropdown das Kombinationsfeld aus den Formularsteuerelementen.
Das gibt dir direkt dein Wunschergebnis als Ergebnis zurück.
Gruß Daniel
;
Anzeige
Anzeige

Infobox / Tutorial

Rückgabewert einer Funktion in Excel ermitteln


Schritt-für-Schritt-Anleitung

Um eine Funktion zu erstellen, die dir die Position eines Namens in einer Liste zurückgibt, kannst du die VERGLEICH-Funktion in Excel verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  1. Erstelle eine Liste: Trage die Namen, die du verwenden möchtest, in eine Spalte ein. Zum Beispiel in Spalte A:

    A1: Tom
    A2: Tim
    A3: Anna
    A4: Lisa
    A5: Susi
  2. Dropdown-Liste erstellen:

    • Wähle eine Zelle aus, in der die Dropdown-Liste erscheinen soll (z.B. B1).
    • Gehe zu Daten > Datenüberprüfung.
    • Wähle Liste als Kriterium und gib den Bereich deiner Namensliste ein (z.B. A1:A5).
  3. VERGLEICH-Funktion verwenden:

    • In einer anderen Zelle (z.B. C1) gib die folgende Formel ein:
      =VERGLEICH(B1;A1:A5;0)
    • Diese Formel gibt die Position des ausgewählten Namens in der Liste zurück.
  4. Ergebnisse überprüfen: Wenn du nun einen Namen aus der Dropdown-Liste auswählst, wird dir die entsprechende Position in der Liste angezeigt.


Häufige Fehler und Lösungen

  • Problem: Die VERGLEICH-Funktion gibt einen Fehler zurück.

    • Lösung: Überprüfe, ob die Daten in der Dropdown-Liste und der Namensliste übereinstimmen. Achte auf Leerzeichen oder unterschiedliche Schreibweisen.
  • Problem: Die Position wird nicht korrekt angezeigt.

    • Lösung: Stelle sicher, dass der Bereich der Namensliste korrekt angegeben ist und die Funktion in der richtigen Zeile beginnt.
  • Problem: VERGLEICH funktioniert nicht, wenn die Liste nicht in der ersten Zeile beginnt.

    • Lösung: Füge den Zeilenversatz in die Formel ein, um die korrekte Position zu ermitteln.

Alternative Methoden

Wenn die VERGLEICH-Funktion nicht die gewünschten Ergebnisse liefert, kannst du folgende Alternativen ausprobieren:

  • AGGREGAT-Funktion: Diese Funktion kann auch zur Ermittlung der Position verwendet werden, allerdings ist sie komplexer und für diesen Anwendungsfall möglicherweise übertrieben.

  • Kombinationsfeld aus den Formularsteuerelementen:

    • Gehe zu Entwicklertools > Einfügen und wähle das Kombinationsfeld aus.
    • Mit dieser Methode erhältst du direkt die Position des ausgewählten Namens.

Praktische Beispiele

Hier sind einige praktische Beispiele, die dir helfen können:

  • Beispiel 1: Wenn du "Lisa" aus der Dropdown-Liste auswählst, gibt die Formel in C1 den Wert 4 zurück, da Lisa die vierte Position in der Liste hat.

  • Beispiel 2: Wenn du "Tim" auswählst, wird 2 zurückgegeben.

Du kannst auch weitere Namen in die Liste einfügen und die Funktion entsprechend anpassen.


Tipps für Profis

  • Kombiniere VERGLEICH mit WENNFEHLER: Um Fehler abzufangen, kannst du die Formel wie folgt anpassen:

    =WENNFEHLER(VERGLEICH(B1;A1:A5;0);"Nicht gefunden")
  • Verwende benannte Bereiche: Wenn du oft mit den gleichen Bereichen arbeitest, kannst du diese benennen, um die Formeln übersichtlicher zu gestalten.

  • Dynamische Dropdown-Listen: Nutze die INDEX-Funktion in Kombination mit VERGLEICH für flexiblere Listen.


FAQ: Häufige Fragen

1. Warum funktioniert die VERGLEICH-Funktion manchmal nicht? Überprüfe, ob der Suchbegriff genau mit dem in der Liste übereinstimmt. Unterschiede in der Schreibweise oder zusätzliche Leerzeichen können Probleme verursachen.

2. Kann ich die Liste automatisch aktualisieren? Ja, du kannst eine dynamische Liste mit einer Tabelle erstellen. Wenn du eine Excel-Tabelle verwendest, wird die Dropdown-Liste automatisch aktualisiert, wenn du Elemente hinzufügst oder entfernst.

3. Was ist der Unterschied zwischen VERGLEICH und AGGREGAT? VERGLEICH ist einfacher und schneller für die Ermittlung der Position eines Wertes, während AGGREGAT mehr Funktionen bietet, aber komplexer ist.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige