Wenn die Zelle einen Wert enthält, dann 'Spaltenkopf'

483
Sideshow_Gary

Suche nach Hilfe

 A B C D E F 1 Food Petrol Rent Wages 2 **Food** 12 3 **Petrol** 35 4 **Rent** 120 5 **Wages** 300 

Ich habe eine Formel, die Werte in die Zellen C2: F5 -us kopiert, aber ich habe Schwierigkeiten, eine Formel zu finden, die die Spaltenüberschrift "Lebensmittel / Benzin / Miete" in die Spalte B kopiert, wenn sich in der entsprechenden Zelle ein Wert befindet in der Spalte

Wenn also C2 einen Wert hat, dann ist B2 = C1. Wenn F5 einen Wert hat, dann ist B5 = "Lohn".

Zur Zeit habe ich 38 Spalten und fast 1000 Reihen, es könnte kompliziert werden, alles manuell zu erledigen

Danke im Voraus

1
Jede Wertzeile (C2: F5) sollte nur eine Zelle mit einem Wert enthalten. Nichts sollte "Nahrung" UND "Benzin" sein Sideshow_Gary vor 6 Jahren 0
Wird der Zellenwert immer eine Zahl sein? Kann es eine Zeile ohne Wert geben? fixer1234 vor 6 Jahren 0
Der Wert wird immer eine Zahl sein. Ja, jede Zeile sollte genau einen Wert haben. Sideshow_Gary vor 6 Jahren 0
Vielen Dank für Ihre Hilfe. Ich fürchte, ich habe Ihnen unvollständige Informationen für mein Problem gegeben. Ich habe das Problem hier umformuliert: https://superuser.com/questions/1300454/office-calc-matching-column-header-to-cell Mit mehr Details , Vielen Dank. Sideshow_Gary vor 6 Jahren 0

1 Antwort auf die Frage

1
fixer1234

Dafür gibt es verschiedene Möglichkeiten. Sie beschreiben 38 Spalten, daher ist eine Form der Suche der einfachste Ansatz. Sie können dies mit INDEX und MATCH tun:

Die Formel in B2:

=INDEX($C$1:$F$1,MATCH(0,ISBLANK(C2:F2),0)) 

Beachten Sie die Klammern um die Formel im Bild. Dies ist eine Array-Formel, daher müssen Sie sie mit Ctrl+ Shift+ Enteranstelle von nur eingeben Enter. Natürlich müssen Sie die Bereiche an Ihre Daten anpassen.

Wie es funktioniert:

MATCH sucht nach dem ersten nicht leeren Eintrag. In diesem Fall kehrt ISBLANK zurück False, das OpenOffice als anzeigt 0( Truewürde als anzeigen 1). MATCH gibt die Spaltenposition innerhalb des Bereichs zurück, in dem die Übereinstimmung gefunden wurde. Der 0Parameter am Ende sucht nach einer exakten Übereinstimmung.

INDEX gibt den Wert aus der ersten Zeile in der entsprechenden von MATCH gefundenen Spaltenposition zurück.

Sie können die Formel nach der Eingabe in die Spalte B kopieren und einfügen.

AKTUALISIEREN:

Sie haben in Kommentaren angegeben, dass Ihre aktuelle Tabelle keine leeren Zellen enthält, in denen keine Zahlen vorhanden sind. Sie enthalten vielmehr Formeln, die eine leere Zelle anzeigen. In diesem Fall erkennt ISBLANK es nicht als leer. Wir können damit umgehen, indem wir lediglich einen Zahlenwert testen und nach der ersten True-Bedingung suchen. Die B2-Formel wäre also:

=INDEX($C$1:$F$1,MATCH(1,ISNUMBER(C2:F2),0)) 

Auch hier handelt es sich um eine Matrixformel. Sie müssen sie also anstelle von Ctrl+ Shift+ eingeben . Ich habe gerade überprüft, dass diese Formel in diesem Beispiel funktioniert, wenn die "leeren" Zellen nicht wirklich leer sind. EnterEnter

Vielen Dank für Ihre Hilfe, aber ich befürchte, dass ich mit den Informationen, die ich Ihnen gab, nicht vollständig genug war. Sideshow_Gary vor 6 Jahren 0
Hat diese Antwort für das Beispiel in dieser Frage funktioniert, und dann hatten Sie Probleme beim Übersetzen in Ihr eigentliches Arbeitsblatt? Stellen Sie zunächst sicher, dass Sie das vereinfachte Beispiel ordnungsgemäß implementiert haben, um das Problem zu diagnostizieren. Dies zeigt, ob das Problem in der Implementierung der Formel liegt oder ob in Ihrem Arbeitsblatt verborgene Komplexität vorliegt, mit der die Formel nicht umgehen kann. fixer1234 vor 6 Jahren 0
Ich habe die einfache Tabelle neu erstellt und die Formel funktioniert. Vielen Dank. Die Zellen im Suchbereich enthalten jedoch eine Formel. Daher gibt ISBLANK falsche Ergebnisse aus. Sideshow_Gary vor 6 Jahren 0