/ / Wählen Sie das 'Nein' auf einem separaten Blatt - Excel

Wählen Sie das Nein auf einem separaten Blatt - Excel

Ich möchte das "Nein" auf einem separaten Blatt mit auswählen vlookup, aber ich kann es nicht zum Laufen bringen.

Dies ist das Beispiel auf dem ersten Blatt:

1 Ja Kaffee 2 Kein Tee 3 Keine Milch 4 Ja Wasser 5 Ja Saft

Auf dem nächsten Blatt sollte Folgendes angezeigt werden:

1 Tee 2 Milch

Antworten:

0 für die Antwort № 1

Ich weiß nicht, dass Vlookup was kannSie wollen. Da Sie in einem Bereich mit mehreren "Nein" nach "Nein" suchen würden, gibt vLookup immer wieder denselben Wert zurück. Es gibt wahrscheinlich eine Lösung mit einer Gleichung, aber ich bin mit diesen nicht so gut , also hier "sa VBA-Lösung.

Hinweis: Ich gehe davon aus, dass "Ja" und "Nein" in Spalte A stehen und der Getränketyp in Spalte B, ähnlich wie:

   A       B
1 Yes     Milk
2 No      Water
3 No      Tea
4 Yes     Juice

Code:

Sub Move_NO_Rows()
Dim rawWS As Worksheet, noWS As Worksheet
Dim yesNoRange As Range, cel As Range
Dim lastRow As Integer, noLastRow As Integer
Dim yesOrNo As String

yesOrNo = "No" "If you want to search for the "Yes" rows instead, just change this variable

Set rawWS = ActiveSheet
Set noWS = Sheets.Add
noWS.Name = "No Types"

"Since we added a new sheet, the starting row for your "No" rows is 1
noLastRow = 1

With rawWS
lastRow = .UsedRange.Rows.Count
Set yesNoRange = .Range(.Cells(1, 1), .Cells(lastRow, 1))
For Each cel In yesNoRange
If cel.Value = yesOrNo Then
noWS.Range(noWS.Cells(noLastRow, 1), noWS.Cells(noLastRow, 2)).Value = .Range(.Cells(cel.Row, 1), .Cells(cel.Row, 2)).Value
noLastRow = noLastRow + 1
End If
Next cel
End With

End Sub

Sind die Zahlen, die Sie in Ihrem Beispiel angeben, tatsächlich in den Daten enthalten, oder ist das die Zeile?


0 für die Antwort № 2

Hier ist eine Nicht-VBA-Lösung. Beachten Sie, dass hierfür Array-Formeln verwendet werden, die durch Drücken von STRG + UMSCHALT + EINGABE bei jeder Änderung der Zelle bestätigt werden müssen, anstatt nur EINGABE. Setzen Sie Ihre "Ja" / "Nein" -Spalte von A1: A6 und Ihre Getränkesäule von B1: B6. Setzen Sie eine Spalte aus D1: D6, die nur von 1 bis 6 zählt.

=IFERROR(INDEX($B$1:$B$6,SMALL(IF($A$1:$A$6="no",ROW($A$1:$A$6),""),D1)),"")

Kopieren Sie nach dem Drücken von STRG + UMSCHALT + EINGABETASTE nach untendie Zeilen unten. Dies funktioniert, indem jeder mögliche Treffer in Spalte A betrachtet wird. Wenn Spalte A = "Nein" in dieser Zeile ist, gibt es der ZAHLEN-Funktion die Zeilennummer. SMALL nimmt eine Reihe von Zahlen und spuckt die n-kleinste aus. SMALL (LIST, 2) gibt also das zweitkleinste Element in der Liste an. Sie können diese Zeilennummer dann der Indexfunktion zuweisen, die Spalte B übernimmt und den Wert in der angegebenen Zeile ausspuckt.

Ich empfehle nicht, dies zu verwenden, ohne es zu verstehen. Ich empfehle nicht, es überhaupt zu verwenden, wenn Sie mit Array-Funktionen nicht vertraut sind.