Вставьте MODE.SNGL в условную формулу, извлекающую данные из одного рабочего листа в другой.

Вставьте MODE.SNGL в условную формулу, извлекающую данные из одного рабочего листа в другой.

Windows 10 Excel 2019

У меня есть рабочая книга с двумя рабочими листами, Product Data и Product List. Данные в Product List генерируются каждый раз, когда запускается формула, которую я ищу.

Количество продуктов неизвестно/неограничено.
Количество строк для каждого продукта неизвестно/неограничено.
Каждый рабочий лист имеет строку заголовка.

На странице «Данные о продукте»...
Столбцы A, B, J, K будут иметь дублирующиеся даты, которые следует использовать для идентификации строк, относящихся к каждому продукту.
Столбцы G и H также относятся к каждому продукту, но будут содержать смесь значений и не будут использоваться для идентификации продуктов.

Для каждого продукта (определенного путем сопоставления данных в столбцах A, B, J, K листа «Список продуктов») мне нужно, чтобы Excel просмотрел столбец G и возвратил число, которое встречается чаще всего в каждом совпадающем наборе данных, возможно, '=MODE.SNGL(G2:G) до конца совпадений.

Нужный мне код/формула будет выполнять следующие действия.
После обработки первого набора сопоставленных значений (желтый цвет) он переходит к обработке следующего сопоставленного набора (зеленый цвет), затем следующего (синий цвет) и так далее по всему списку продуктов и копирует его на страницу списка продуктов (пример ниже).

У меня есть следующий код VBA, который извлекает данные из рабочего листа «Даты продуктов», но я не могу понять, как вставить «=MODE.SNGL(G2:G)» или что-то подобное в код диапазона столбца G, чтобы он зацикливался и начинался заново для каждого соответствующего набора данных.

' Начиная с ячейки A2 до ячейки G2 и вниз до строки 40 000, вставляется формула для ' извлечения данных из рабочего листа "Track Data2

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"

Пример рабочего листа «Данные о продуктах».

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

Пример того, как будет выглядеть страница списка товаров.

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

Связанный контент