Hallo,
ich habe eine Tabelle geerbt.
Die Tabelle läauft und macht keine Probleme.
Ich würde nur gern verstehen wie folgende Formel arbeitet.
Sverweiß ist klar Zeile() auch, nur würde ich gerne wissen wie der sverweiß(werkzeugnummer;Datenfeld;(zeile()-12)*9+7;1)arbeitet.
Ist da eine Art rückwärts und dann wieder vorwärts suche?
eine Tabelle kann ich zur Not nachreichen.
Hallo,
mir ist Sverweiß absolut nicht klar; könnte es auch Sverblau sein?
Oder meinst du etwa die Funktion SVERWEIS()?
Lad mal bitte eine Beispieltabelle hoch.
Der SVERWEIS sucht tatsächlich "vorwärts und rückwärts", und zwar binär.
Angenommen, Du hast sortierte lückenhafte Werte von 1-1000. Dann sucht SVERWEIS wie folgt die 341:
500 runter
250 rauf
375 runter
312 rauf
343 runter
327 rauf
335 rauf
339 rauf
341 TREFFER
Hallo,
hier die Datei zu der Frage
(27.07.2020, 15:23)WillWissen schrieb: [ -> ]Hallo,
mir ist Sverweiß absolut nicht klar; könnte es auch Sverblau sein? Oder meinst du etwa die Funktion SVERWEIS()?
Sehr gut,
danke dafür, Schande über mein Haupt :19:
Hallo das ist mir klar
mich Interresiert was die (Zeile()-12)*9+7; genau macht, da der Spalten bereich ja nach rechts je nach EIntrag größer wird.
Ich blick es einfach nicht.
(29.07.2020, 16:28)knallebumm schrieb: [ -> ]Hallo das ist mir klar
mich Interresiert was die (Zeile()-12)*9+7; genau macht, da der Spalten bereich ja nach rechts je nach EIntrag größer wird.
Ich blick es einfach nicht.
Wie es in der Tabelle in Zeile 3 zu sehen ist.
Da wird ja immer der nächste Block (farblich markiert)genommen.
Dort sind mehr einträge als in Zeile 1 und 2.
Die Blöcke sind immer 9 Spalten, daher wohl auch die *9
Die jeweilige Spaltennummer wird auch immer auf die 9er Blöcke angewandt. also hier die +7.
Nur die - 12 ist mir nicht klar, woher weiß excel, dass in den nächsten Block geprungen werden muss?
Diese Logik erschließt sich mir nicht.
Hallo Thomas,
mit
(Zeile()-12)*9+6
wird dynamisch der Spaltenindex für die SVERWEIS-Funktion ermittelt, und zwar abhängig von der Zeile, in der die Formel gerade steht
Zeile() gibt immer die Zeilennummer der a
ktuellen Zelle zurück; also wenn deine Formel in
A12 steht, ergibt
Zeile() => 12
Und
=(Zeile()-12)*9+6
ergibt dann(wenn in Zelle A12 eingetragen) => (12-12)*9+6 =6
Beim runterziehen der Formel in A13, A14, A15 usw. ergibt ZEILE() dann entsprechend 13, 14, 15, usw.
Und der Spaltenindex für den SVERWEIS, also der Ausdruck
(Zeile()-12)*9+6, erhöht sich in jeder Zeile um 9
Das *9 ist also dafür verantwortlich, dass der SVERWEIS beim runterziehen der Formel immer in den nächsten Datenblock springt.
Also:
Arbeitsblatt mit dem Namen 'Geräteblatt+' |
| A | B | C |
11 | Zeile | Spaltenindex | Datenblock |
12 | 12 | 6 | BLock1 |
13 | 13 | 15 | BLock2 |
14 | 14 | 24 | BLock3 |
15 | 15 | 33 | BLock4 |
16 | 16 | 42 | BLock5 |
17 | 17 | 51 | BLock6 |
18 | 18 | 60 | BLock7 |
19 | 19 | 69 | BLock8 |
20 | … | … | … |
Zelle | Formel |
A12 | =ZEILE() |
B12 | =(ZEILE()-12)*9+6 |
Verwendete Systemkomponenten: [Windows (32-bit) NT 6.02] MS Excel 2010 |
Diese Tabelle wurde mit Tab2Html (v2.6.0) erstellt. ©Gerd alias Bamberg |
Die -12 ist sozusagen der "Korrekturwert",weil deine Formel in Zeile 12 startet.
Alternativ kannst du den Spaltenindex auch so ermitteln:
=(ZEILE(A1)-1)*9+6
Dann ist es egal, in welcher Zeile deine Formel startet....
Gruß
Fred
Hallo Fred,
danke für die Erläuterung.