Fügen Sie MODE.SNGL in eine bedingte Formel ein, um Daten von einem Arbeitsblatt in ein anderes zu übertragen

Fügen Sie MODE.SNGL in eine bedingte Formel ein, um Daten von einem Arbeitsblatt in ein anderes zu übertragen

Windows 10 Excel 2019

Ich habe eine Arbeitsmappe mit zwei Arbeitsblättern, Produktdaten und Produktliste. Die Daten in der Produktliste werden jedes Mal generiert, wenn die gesuchte Formel ausgeführt wird.

Die Anzahl der Produkte ist unbekannt/unbegrenzt
Die Anzahl der Zeilen für jedes Produkt ist unbekannt/unbegrenzt
Jedes Arbeitsblatt hat eine Kopfzeile

Auf der Produktdatenseite ...
enthalten die Spalten A, B, J und K doppelte Daten, die zur Identifizierung der Zeilen verwendet werden sollten, die sich auf jedes Produkt beziehen. Die
Spalten G und H beziehen sich ebenfalls auf jedes Produkt, enthalten jedoch eine Wertemischung und werden nicht zur Identifizierung der Produkte verwendet.

Für jedes Produkt (identifiziert durch übereinstimmende Daten in den Spalten A, B, J, K des Produktlistenblatts) muss Excel in Spalte G nachsehen und die Nummer zurückgeben, die in jedem übereinstimmenden Datensatz am häufigsten vorkommt, beispielsweise '=MODE.SNGL(G2:G) bis zum Ende der Übereinstimmungen.

Der Code/die Formel, die ich brauche, bewirkt Folgendes:
Wenn der erste Satz übereinstimmender Werte verarbeitet wurde (gelb), geht es weiter und verarbeitet den nächsten übereinstimmenden Satz (grün) und dann den nächsten (blau) und so weiter das gesamte Produktlistenblatt hinunter und kopiert es in die Produktlistenseite (Beispiel weiter unten).

Ich habe das folgende VBA, das die Daten aus dem Arbeitsblatt „Produktdatum“ zieht, aber ich kann nicht herausfinden, wie ich „=MODE.SNGL(G2:G)“ oder etwas Ähnliches in den Code des Bereichs in Spalte G einfüge, damit eine Schleife ausgeführt wird und für jeden übereinstimmenden Datensatz neu begonnen wird.

' Beginnend mit Zelle A2 über Zelle G2 bis hinunter zur Zeile 40.000 werden die Formeln eingefügt, um ' die Daten aus dem Arbeitsblatt "Track Data2" zu ziehen.

Range("A2").Select
ActiveCell.FormulaR1C1 = _
    "=IF(ISBLANK('Track Data'!RC), """",IF(OR('Track Data'!RC[8]=""Wav"",'Track Data'!RC[8]=""Flac"",'Track Data'!RC[8]=""Mp3"",'Track Data'!RC[8]=""Aif"",'Track Data'!RC[8]=""OSX AU""),'Track Data'!RC,""""))"
Range("B2").Select
ActiveCell.FormulaR1C1 = "=IF(RC[-1]="""","""",'Track Data'!RC)"
Range("C2").Select
ActiveCell.FormulaR1C1 = "=IF(RC[-2]="""","""",'Track Data'!RC[8])"
Range("D2").Select
ActiveCell.FormulaR1C1 = "=IF(RC[-3]="""","""",'Track Data'!RC)"
Range("E2").Select
ActiveCell.FormulaR1C1 = "=IF(RC[-4]="""","""",'Track Data'!RC[2])"
Range("F2").Select
ActiveCell.FormulaR1C1 = "=IF(RC[-5]="""","""",'Track Data'!RC[])"
Range("G2").Select
ActiveCell.FormulaR1C1 = "=IF(RC[-6]="""","""",'Track Data'!RC[2])"
Range("A2:G2").Select
Selection.AutoFill Destination:=Range("A2:G40000"), Type:=xlFillDefault
Range("A2:G40000").Select
Application.GoTo Reference:="R2C1"

Ein Beispiel für das Arbeitsblatt „Produktdaten“.

PRODUCT     TYPE    DATA 1  DATA 2  DATA 3  DATA 4  NO 1    N0 2    DATA 5  PRICE   PACK TYPE
Red Paint   Powder  Data 1  Data 2  Data 3  Data 4  12  1058    Data 5  22.99   Tin
Red Paint   Powder  Data 1  Data 2  Data 3  Data 4  12  1058    Data 5  22.99   Tin
Red Paint   Powder  Data 1  Data 2  Data 3  Data 4  12  1058    Data 5  22.99   Tin
Red Paint   Powder  Data 1  Data 2  Data 3  Data 4  4   1058    Data 5  22.99   Tin
Red Paint   Powder  Data 1  Data 2  Data 3  Data 4  4   652 Data 5  22.99   Tin
Red Paint   Powder  Data 1  Data 2  Data 3  Data 4  2   331 Data 5  22.99   Tin
Red Paint   Powder  Data 1  Data 2  Data 3  Data 4  12  2012    Data 5  22.99   Tin
Red Paint   Powder  Data 1  Data 2  Data 3  Data 4  12  1058    Data 5  22.99   Tin
Red Paint   Powder  Data 1  Data 2  Data 3  Data 4  12  1058    Data 5  22.99   Tin
Yellow Paint    Oil Data 1  Data 2  Data 3  Data 4  300 442 Data 5  9.89    Tube
Yellow Paint    Oil Data 1  Data 2  Data 3  Data 4  43  442 Data 5  9.89    Tube
Yellow Paint    Oil Data 1  Data 2  Data 3  Data 4  300 442 Data 5  9.89    Tube
Yellow Paint    Oil Data 1  Data 2  Data 3  Data 4  21  5678    Data 5  9.89    Tube
Yellow Paint    Oil Data 1  Data 2  Data 3  Data 4  14  442 Data 5  9.89    Tube
Yellow Paint    Oil Data 1  Data 2  Data 3  Data 4  62  789 Data 5  9.89    Tube
Yellow Paint    Oil Data 1  Data 2  Data 3  Data 4  300 442 Data 5  9.89    Tube
Yellow Paint    Oil Data 1  Data 2  Data 3  Data 4  300 1233    Data 5  9.89    Tube
Yellow Paint    Oil Data 1  Data 2  Data 3  Data 4  300 442 Data 5  9.89    Tube
Black Paint Powder  Data 1  Data 2  Data 3  Data 4  1   3   Data 5  6.28    Tin
Black Paint Powder  Data 1  Data 2  Data 3  Data 4  1   45  Data 5  6.28    Tin
Black Paint Powder  Data 1  Data 2  Data 3  Data 4  2   20  Data 5  6.28    Tin
Black Paint Powder  Data 1  Data 2  Data 3  Data 4  3   3   Data 5  6.28    Tin
Black Paint Powder  Data 1  Data 2  Data 3  Data 4  3   8   Data 5  6.28    Tin
Black Paint Powder  Data 1  Data 2  Data 3  Data 4  6   3   Data 5  6.28    Tin
Black Paint Powder  Data 1  Data 2  Data 3  Data 4  1   3   Data 5  6.28    Tin

Ein Beispiel, wie die Produktlistenseite aussehen wird.

PRODUCT     TYPE    DATA 1  DATA 2  DATA 3  DATA 4  M. DUPS No 2    DATA 5  PRICE   PACK TYPE
Red Paint   Powder  Data 1  Data 2  Data 3  Data 4  12  1058    Data 5  22.99   Tin
Yellow PaintOil Data 1  Data 2  Data 3  Data 4  300 442 Data 5  9.89    Tube
Black Paint Powder  Data 1  Data 2  Data 3  Data 4  1   3   Data 5  6.28    Tin

verwandte Informationen