wie man nach einem Wert in Excel sucht und die darauf basierende Spalte auffüllt

0

Ich habe folgende Anfrage:

Meine Eingabetabelle ist

enter image description here

Grundsätzlich möchte ich Spalten für jede ID suchen. Wert3 & gt; Wert2 & gt; Wert1

Wenn Wert und Wertespalte Daten enthalten, sollte die Ausgabe die ID mit dem Wert 3 zeigen

Wenn Wert3 Daten enthält, füllen Sie die Ausgabe als Wert3 aus. Wenn Wert2 und Wert3 Daten enthalten, sollte auch Wert3 ausgefüllt werden

Ausgabe:

enter image description here

Gibt es eine Formel, die ich schreiben kann, um diesen Wert abzurufen?

misguided
quelle
Basiert Ihr Test auf den Beträgen in den Wertspalten oder nur auf dem Vorhandensein eines Betrags in der Spalte? Was Sie für Ihre Ausgabetabelle wollen, ist die Spaltenüberschrift, nicht der Wert?
fixer1234
Nur Vorhandensein von Wert in der Spalte. Betrag hat keine Bedeutung
misguided

Antworten:

1

Wenn es sich nur um drei Wertespalten handelt, sind IF-Tests eine einfache Möglichkeit. Angenommen, die angezeigte Tabelle beginnt in A1 (A1 = Überschrift "ID"). Die Formel für den ersten Ausgabewert wäre:

    =IF(ISBLANK(D2),IF(ISBLANK(C2),$B$1,$C$1),$D$1)

Kopieren Sie das in die Ausgabespalte. (Dies setzt voraus, dass jede Zeile in der Datentabelle durch eine Zeile in der Ausgabetabelle dargestellt wird und beide die ID-Spalte in derselben Reihenfolge haben.)

fixer1234
quelle
0

Hier ist eine allgemeinere Lösung. Ich gehe davon aus, dass Sie fünf "Wert" -Spalten haben ( B durch F ) und Sie möchten das Ergebnis in der Spalte G. Geben Sie diese Formel in die Zelle ein G2:

=OFFSET($B$1, 0, MAX(COLUMN(B2:F2)*NOT(ISBLANK(B2:F2)))-2)

und Typ Strg + Verschiebung + Eingeben . Das macht es zu einer "Matrixformel"; es wird in der Bearbeitungsleiste mit geschweiften Klammern angezeigt ( {} ) um es herum. Ziehen Sie nun so viele Zeilen nach unten, wie Sie möchten:

demo spreadsheet

  • ISBLANK() prüft, ob eine Zelle leer ist ( TRUE wenn es ist, FALSE wenn nicht).
  • NOT(…) kehrt die Logik um; jetzt haben wir TRUE wenn die Zelle (nicht leere) Daten enthält und FALSE wenn keine Daten vorhanden sind.
    Es stellt sich heraus, die TRUE ist eigentlich der Wert 1 und FALSE ist eigentlich 0.
  • COLUMN(B2:F2)* (obenstehendes) Nimmt die Spaltennummer jeder Zelle im Bereich und multipliziert es mit 1, wenn die Zelle Daten enthält, und mit 0, wenn dies nicht der Fall ist. Dies ergibt die Spaltennummer (× 1), wenn die Zelle Daten enthält. und 0 (Spaltennummer × 0), wenn dies nicht der Fall ist. Für Zeile 3 ist dies beispielsweise {2,0,4,0,0}. weil der zweite ( B ) und viertens ( D ) Spalten haben Daten.
  • MAX(…) wählt den größten aus; d.h. die Nummer der am weitesten rechts stehenden Spalte, in der sich Daten befinden.
  • =OFFSET($B$1, 0, (obenstehendes) -2) Findet die Zelle mit 0 Zeilen darunter und MAX(COLUMN(B2:F2)*NOT(ISBLANK(B2:F2)))-2 Spalten rechts von der Zelle B1. Wir subtrahieren 2 von der Spaltennummer, weil B1 ist in Spalte 2, also wann MAX(COLUMN(B2:F2)*NOT(ISBLANK(B2:F2))) ergibt 2 (wie in Zeile 2), Wir möchten 0 Spalten rechts von der Zelle platzieren B1.
G-Man
quelle