Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Kochrezepte: absolute Angaben aus relativen berechnen
#21
Wenn nötig ja
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#22
(19.01.2022, 20:33)schauan schrieb: Wenn nötig ja

Hast Du Lust ein Beispiel einer Formel zu nennen, damit ich ein Gefühl dafür bekomme, wann ihr INDEX mit benannten Bereichen einsetzt?
VG Andreas

--
Genutzte Version: MS Office 365 für Mac

Antworten Top
#23
Ich frage mich gerade, ob es für Experten möglich wäre, für die Aufgabe "Lückenloses Auflisten" eine benutzerdefinierte Funktion zu bauen.
Das ist ja alles andere als eine exotische Aufgabe.

MS hat einfach vergessen, eine fertige Funktion dafür bereitzustellen : )

Benutzerdefinierte Funktionen können sogar auf der Plattform macOS verwendet werden: https://docs.microsoft.com/de-de/office/dev/add-ins/excel/custom-functions-overview



Weiterhin frage ich mich, ob man das Verfahren mit der Formel
=BEREICH.VERSCHIEBEN(Tabelle1!$J$7;0;0;ZÄHLENWENN(Tabelle1!$J$7:$J$107;">@"))
im Dialog "Name definieren" ändern und die bereinigte Liste auch in eine Hilfsspalte auslagern kann.

Ist mir aber nicht gelungen : )

Im Dropdownfeld wird dann als letzter Eintrag ein leerer gezeigt.

Siehe Anhang.

.xlsx   parameterrezept-template-0.4.xlsx (Größe: 14,28 KB / Downloads: 2)
VG Andreas

--
Genutzte Version: MS Office 365 für Mac

Antworten Top
#24
Hallo Andreas,

also, ich zitiere Dich mal
Zitat:Also weise ich C7:C16 den Bereichsnamen "_Nummerierung" und D7:D16 den Bereichsnamen "_Zutat" zu.
Das wäre doch schon (D)ein Beispiel für die Verwendung. Oder bekommst Du die Formel nicht hin?

Bereich.Verschieben würde ich übrigens nicht nehmen, wenn man es auch mit INDEX lösen kann.


Was meinst Du mit lückenlosem auffüllen? Willst Du Deine Daten z.B. in einem anderen Bereich ohne Lücken auflisten oder willst Du in leere Zellen was eintragen?
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#25
(21.01.2022, 16:15)schauan schrieb: Das wäre doch schon (D)ein Beispiel für die Verwendung. Oder bekommst Du die Formel nicht hin?

In Post #20 schrieb ich: Statt "F7" wäre es dann "INDEX(_Skaliert;7)"
Das sei doch sehr länglich.

Du schriebst dann, manchmal könne sowas sinnvoll sein.
Mir ist noch nicht klar, in welcher Situation Du der sehr länglichen Form den Vorzug gegenüber der kurzen gibst. Daher würde ich mich über ein Beispiel von Dir freuen : )
Mein eigenes Beispiel ist ja ein Gegenbeispiel.

Zitat:Bereich.Verschieben würde ich übrigens nicht nehmen, wenn man es auch mit INDEX lösen kann.
Die Idee mit "Bereich.Verschieben" für die Dropdownbox kam ja von Holger. Wenn es da was Anderes gibt, freue ich mich über einen Vorschlag.

Der aktuelle Stand des Projektes steht in #23.

Zitat:Was meinst Du mit lückenlosem auffüllen? Willst Du Deine Daten z.B. in einem anderen Bereich ohne Lücken auflisten oder willst Du in leere Zellen was eintragen?

Da verstehst Du mich miss. Es geht um die Umwandlung einer Liste mit Lücken in eine Liste ohne Lücken.

Code:
3

1
7

2
4
soll werden zu:
Code:
3
1
7
2
4

Motiv:
Ich möchte diese Liste als Quelle für die Dropdownbox verwenden. Denn in einer Dropdownbox soll es weder Lücken noch - am Ende - leere Einträge geben.

Ist jetzt klarer geworden, was ich meine?
VG Andreas

--
Genutzte Version: MS Office 365 für Mac

Antworten Top
#26
Hallöchen,

Zitat:Mir ist noch nicht klar, in welcher Situation Du der sehr länglichen Form den Vorzug gegenüber der kurzen gibst. Daher würde ich mich über ein Beispiel von Dir freuen : )

Generell:
Ein Bereich könnte man so benennen, dass man vom Namen her schon weiß, um was es geht. Wenn Du auf einem Blatt z.B. verschiedene Datenbereiche hast, die sich ggf. auch noch verändern können, braucht man ggf. auch eine Berechnung, um die gewünschte Zelle anzusprechen. Zudem bin ich flexibel und könnte über verschiedene Parameter, aber anders als z.B. bei VERWEISen, verschiedene Zellen ansprechen. Siehe z.B. die ab und an gestellte Frage nach dem SVERWEIS nach links ...

Platziere Daten in A1:H8, K1:Z14 und F30:L40. Wenn Ich hier INDEX(Bereich1;1;1) schreibe weiß ich sofort, dass ich in der Matrix Bereich1 oben links bin. Wenn ich oberhalb des Bereichs Zeilen einfüge und anschließend eine weitere Formel benötige, die dort zugreift, bin ich mit 1;1 immer noch oben links und brauche nicht schauen, ob ich nun nach F31, 32, ... muss. Wenn ich später mal die Ergebnisse und Formeln analysiere, sehe ich auch gleich was ich da verrechne.  ...

Ansonsten, wenn Du genau weißt, dass Deine Daten in F7 stehen und Du weder an F noch an der 7 rütteln musst, macht INDEX oder BEREICH.VERSCHIEBEN keinen Sinn.

Ich hatte bis jetzt auch meistens blaue oder grüne Autos ...  15

Zitat:Die Idee mit "Bereich.Verschieben" für die Dropdownbox kam ja von Holger. Wenn es da was Anderes gibt, freue ich mich über einen Vorschlag.
Zitat:Es geht um die Umwandlung einer Liste mit Lücken in eine Liste ohne Lücken.
Mit unserer Suche findest Du z.B. das
Thread-Dropdown-mit-Suchfunktion-und-ohne-Leere-Zellen
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#27
Hallo Andreas,

Zitat:Du hast diese verwendet: =WENNFEHLER(@INDEX($I$7:$I$200;AGGREGAT(15;6;ZEILE($I$7:$I$200)-6*($I$7:$I$200<>"");ZEILE(A1)));"")
Das ist sehr komplex.
Gibt es wirklich keine anderen Techniken um eine lückenlose Liste zu erzeugen?

In Office 365 steht dir die neue Funktion
FILTER()    https://www.youtube.com/watch?v=OHHKhiqQKos
zur Verfügung, mit der geht es einfacher.

Formel in I7 (Hilfsspalte) zum Lückenlosen auflisten der Zutaten:
=FILTER($C$7:$C$16;$F$7:$F$16>0)&" "&FILTER($D$7:$D$16;$F$7:$F$16>0)
Diese Formel erzeugt in Spalte I ein dynamisches Array, das dynamisch alle Einträge aus Spalte C bzw. Spalte D auflistet, die der Bedingung (in Spalte F muss ein Wert eingetragen sein) entsprechen.

Und in deinem Dropdown in D4 kannst du dich dann direkt auf dieses dynamische Array in Spalte I beziehen (also ohne "Umweg" über einen im  Namensmanager definierten Namen)
Formel für Datengültigkeit (-> zulassen -> Liste)
=$I$7#

Arbeitsblatt mit dem Namen 'Tabelle1'
ABCDEFGHI
3Gesetzte ZutatMenge
41 Lachs400,00 g
5
6ZutatengruppeZutatMengeSkaliertZubereitungHilfsspalte
7ALachs1Lachs400,00 g100,00 %1 Lachs parieren
2 Lachs enthäuten

3 Wacholderbeeren zerstoßen
4 Pfeffer fein mahlen
5 Rosa Grapefruit fein reiben
6 Alle Zutaten B zu Trockenbeize mischen

7 Lachs vollständig mit Trockenbeize einreiben
8 Lachs vakuumieren
9 Lachs 12h kühlen

10 Lachs aus Beutel nehmen
11 Beize am Lachs mit Wasser abspülen
12 Lachs trocknen
1 Lachs
8BTrockenbeize2Salz60,00 g15,00 %2 Salz
93Zucker40,00 g10,00 %3 Zucker
104Douglas-Tanne - junge Knospen30,00 g7,50 %4 Douglas-Tanne - junge Knospen
115Wodka6 Rosa Grapefruit - Schale
126Rosa Grapefruit - Schale5,00 g1,25 %7 Wacholderbeeren
137Wacholderbeeren4,00 g1,00 %9 Douglas-Tanne - ätherisches Öl
148Pfeffer10 Rosa Grapefruit - ätherisches Öl
159Douglas-Tanne - ätherisches Öl0,12 g0,03 %
1610Rosa Grapefruit - ätherisches Öl0,12 g0,03 %

ZelleFormel
I7=FILTER($C$7:$C$16;$F$7:$F$16>0)&" "&FILTER($D$7:$D$16;$F$7:$F$16>0)

ZelleGültigkeitstypOperatorWert1Wert2
C4Liste=$I$7#
D4Liste=$I$7#
Verwendete Systemkomponenten: [Windows (64-bit) NT 10.00] / MS Excel 365
Diese Tabelle wurde mit Tab2Html (v2.7.1) erstellt. ©Gerd alias Bamberg

Gruß
Fred
[-] Folgende(r) 1 Nutzer sagt Danke an Fred11 für diesen Beitrag:
  • ibu
Antworten Top
#28
@Fred11

Ganz herzlichen Dank für die Hinweise zu dieser sehr eleganten Lösung mittels der Formel "Filter".

Die Formel habe ich sofort eingebaut, sie funktioniert perfekt.

Eine kleine Sache habe ich noch nicht verstanden:

In Deinem Beispiel ist nur eine Hilfsspalte zu sehen.

Wie realisierst Du bitte E7:E16 ohne eine weitere Hilfsspalte?

Am Rande:
Du verwendest diese sehr praktischen HTML-Tabellen des Tools "Tab2Html": das will ich auch : )

Muss mich mal belesen, ob das in MS365 für Mac auch verwendbar ist.

(22.01.2022, 12:56)schauan schrieb: Wenn Ich hier INDEX(Bereich1;1;1) schreibe weiß ich sofort, dass ich in der Matrix Bereich1 oben links bin.

Das ist in der Tat ein schönes Merkmal.

Wenn ich Dich richtig verstehe, plädierst Du also für den Ersatz meines bisherigen_

E7=WENN(F7="";"";_GesetzteZutatMenge/XVERWEIS(_GesetzteZutat;_Hilfsspalte1;_Skaliert)*F7)

durch

E7=WENN(INDEX(_Skaliert;1)="";"";_GesetzteZutatMenge/XVERWEIS(_GesetzteZutat;_Hilfsspalte1;_Skaliert)*INDEX(_Skaliert;1))

Das habe ich mal testweise gemacht, aber leider kann man einen derartigen relativen Bezug nicht über den üblichen Weg "Anfasser rechts unten in E7 greifen und Formel in die darunter liegenden Zellen ziehen" nicht übertragen.

E8=WENN(INDEX(_Skaliert;1)="";"";_GesetzteZutatMenge/XVERWEIS(_GesetzteZutat;_Hilfsspalte1;_Skaliert)*INDEX(_Skaliert;1))

Erwartet hatte ich:


E8=WENN(INDEX(_Skaliert;2)="";"";_GesetzteZutatMenge/XVERWEIS(_GesetzteZutat;_Hilfsspalte1;_Skaliert)*INDEX(_Skaliert;2))

Damit wäre die Verwendung von INDEX für benannte Bereiche unpraktisch.

Gibt es eine Lösung für die Aufgabe? Übersehe ich etwas?
VG Andreas

--
Genutzte Version: MS Office 365 für Mac

Antworten Top
#29
Hallöchen,
Wie gesagt, da kann oder muss man zuweilen die Zelllage berechnen.
Statt 1;1 kann man ZEILE(A1) ;SPALTE(A1) nehmen und dann geht auch die Änderung beim Ziehen in alle Richtungen. Natürlich unter Beachtung der Blattränder. Kleiner als 1 sollte nicht rauskommen 20
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#30
Hallo Andreas,

Zitat:Wie realisierst Du bitte E7:E16 ohne eine weitere Hilfsspalte?

Ich muss gestehen, ich habe nicht beachtet/bemerkt, dass in deiner Datei die "Hilfsspalte1" (Spalte I), in der bei dir die Zutaten erstmal mit Lücken aufgelistet (und mit der Zutatennummer verkettet) wurden, auch für die XVERWEIS-Formel in E7:E16 verwendet wird; ich habe mich nur auf die Dropdown-Thematik konzentriert...
Wenn jetzt in dieser Hilfsspalte1 die Zutaten  mit der FILTER-Formel gleich lückenlos aufgelistet würden, passt das ja dann tatsächlich nicht mehr mit der XVERWEIS-Formel in Spalte E.

Also entweder musst du halt wieder mit zwei Hilfsspalten arbeiten:
Hilfsspalte1 => Daten mit Lücken auflisten und mit der Zutatennummer verketten für die XVERWEIS-Formel
Hilfsspalte2 => Daten lückenlos auflisten für das Dropdown

Oder aber, und so würde ich das eher machen, du beziehst dich in der XVERWEIS-Formel in Spalte E direkt auf die Zutaten-Spalte (Spalte D).
Weil du ja aber in deinem Dropdown in C4 auch die Zutatennummer mit aufgeführt haben möchtest (das macht das Ganze etwas aufwendig/umständlich), musst du halt zusätzlich auch noch die Spalte C mit reinpacken.

Also so (Formel für E7):
alt:
=WENN(F7="";"";_GesetzteZutatMenge/XVERWEIS(_GesetzteZutat;_Hilfsspalte1;_Skaliert)*F7)

Neu:
=WENN(F7="";"";_GesetzteZutatMenge/XVERWEIS(_GesetzteZutat;_ZutatNummerierung&" "&_Zutat;_Skaliert)*F7)

Dann sollte es wieder funktionieren (zumindest hat es bei mir so funktioniert):
Arbeitsblatt mit dem Namen 'Tabelle1'
ABCDEFGHI
3Gesetzte ZutatMenge
49 Douglas-Tanne - ätherisches Öl400,00 g
5
6ZutatengruppeZutatMengeSkaliertZubereitungHilfsspalte
7ALachs1Lachs1333333,33 g100,00 %1 Lachs parieren
2 Lachs enthäuten

3 Wacholderbeeren zerstoßen
4 Pfeffer fein mahlen
5 Rosa Grapefruit fein reiben
6 Alle Zutaten B zu Trockenbeize mischen

7 Lachs vollständig mit Trockenbeize einreiben
8 Lachs vakuumieren
9 Lachs 12h kühlen

10 Lachs aus Beutel nehmen
11 Beize am Lachs mit Wasser abspülen
12 Lachs trocknen
1 Lachs
8BTrockenbeize2Salz200000,00 g15,00 %2 Salz
93Zucker133333,33 g10,00 %3 Zucker
104Douglas-Tanne - junge Knospen293333,33 g22,00 %4 Douglas-Tanne - junge Knospen
115Wodka440000,00 g33,00 %5 Wodka
126Rosa Grapefruit - Schale16666,67 g1,25 %6 Rosa Grapefruit - Schale
137Wacholderbeeren13333,33 g1,00 %7 Wacholderbeeren
148Pfeffer9 Douglas-Tanne - ätherisches Öl
159Douglas-Tanne - ätherisches Öl400,00 g0,03 %10 Rosa Grapefruit - ätherisches Öl
1610Rosa Grapefruit - ätherisches Öl13333,33 g1,00 %

ZelleFormel
E7=WENN(F7="";"";_GesetzteZutatMenge/XVERWEIS(_GesetzteZutat;_ZutatNummerierung&" "&_Zutat;_Skaliert)*F7)
I7=FILTER($C$7:$C$16;$F$7:$F$16>0)&" "&FILTER($D$7:$D$16;$F$7:$F$16>0)

ZelleGültigkeitstypOperatorWert1Wert2
C4Liste=$I$7#
D4Liste=$I$7#
Verwendete Systemkomponenten: [Windows (64-bit) NT 10.00] / MS Excel 2021 
Diese Tabelle wurde mit Tab2Html (v2.7.1) erstellt. ©Gerd alias Bamberg

Siehe angehängte Beispieldatei.
____________________________________________________________________________________________________________

INDEX ist eine tolle Funktion, mit der man u.a. einen dynamischen/variablen Zellbezug erzeugen kann.
Aber im Fall deiner Formel in Spalte E
=WENN(F7="";"";_GesetzteZutatMenge/XVERWEIS(_GesetzteZutat;_Hilfsspalte1;_Skaliert)*F7)
macht es keinen Sinn, den relativen Zellbezug F7 (2x) durch ein INDEX-Konstrukt zu ersetzen, denn du möchtest ja, dass sich der Zellbezug beim runterziehen der Formel automatisch mitändert.
Das wäre sonst ein bisschen von hinten durch die Brust ins Auge...

Näheres zur Funktion INDEX siehe z.B. hier:
https://www.youtube.com/watch?v=lrkwwNGfbKU
https://www.youtube.com/watch?v=XikgEUzFc3o
____________________________________________________________________________________________________________

Das Tool Tab2Html findest du hier:
https://www.clever-excel-forum.de/Thread...pid=100180

Gruß
Fred


Angehängte Dateien
.xlsx   parameterrezept-template-04_fsx.xlsx (Größe: 14,07 KB / Downloads: 0)
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste