Как перечислить все возможные комбинации значений в ПЯТЬ столбцов в Excel? - PullRequest
0 голосов
/ 11 июня 2019

Уже есть вопрос и ответ: «Как перечислить все возможные комбинации значений в трех столбцах в Excel?» Эта формула работает именно так, как я хочу, но мне нужно добавить два дополнительных столбца, но я не могу полностью понять текущую формулу, чтобы добавить еще два новых столбца в список.

Текущая формула работает для 3 столбцов. Необходимо обновить, чтобы включить 5. =IFERROR(INDEX($A:$A,IF(INT((ROW(1:1)-1)/(((COUNTA(B:B)-1)*((COUNTA(C:C)-1)))))+2>COUNTA(A:A),-1,INT((ROW(1:1)-1)/(((COUNTA(B:B)-1)*((COUNTA(C:C)-1)))))+2))&" "&INDEX(B:B,MOD(INT((ROW(1:1)-1)/(COUNTA(C:C)-1)),(COUNTA(B:B)-1))+2)&" "&INDEX(C:C,MOD((ROW(1:1)-1),(COUNTA(C:C)-1))+2),"")

Также, если есть способ объяснить, как добавить дополнительный столбец или вычесть столбец, который также будет экспоненциально выгоден.

Site    Product Type    Labor Hours Machine Hours   Batch Size      
MAR UV  2   2   100     MAR UV 2
BEL SOLVENT 5   5   300     MAR UV 5
    WATER   8   8   750     MAR UV 8
        13  13  1750        MAR UV 13
        18  18  3750        MAR UV 18
                5000        MAR SOLVENT 2
                        MAR SOLVENT 5
                        MAR SOLVENT 8
                        MAR SOLVENT 13
                        MAR SOLVENT 18
                        MAR WATER 2
                        MAR WATER 5
                        MAR WATER 8
                        MAR WATER 13
                        MAR WATER 18
                        BEL UV 2
                        BEL UV 5
                        BEL UV 8
                        BEL UV 13
                        BEL UV 18
                        BEL SOLVENT 2
                        BEL SOLVENT 5
                        BEL SOLVENT 8
                        BEL SOLVENT 13
                        BEL SOLVENT 18
                        BEL WATER 2
                        BEL WATER 5
                        BEL WATER 8
                        BEL WATER 13
                        BEL WATER 18

Это то, что я вижу сейчас, основываясь на текущей формуле. Это только в том числе первые 3 столбца. Мне нужно, чтобы включить следующие 2, а также. Мне также нравится эта формула, потому что мне все равно, сколько дополнительных строк будет в каждом столбце, которые могут существенно измениться в будущем.

Ниже приведен исходный вопрос, который содержит только 3 столбца в формулах Как перечислить все возможные комбинации значений в трех столбцах в Excel?

Ответы [ 2 ]

0 голосов
/ 12 июня 2019

Вот способ сделать это без формулы:

  1. Создайте сводную таблицу для ваших столбцов.
  2. Установите столбцы по порядку в поле «Строки» сводной таблицы.
  3. Измените свой макет на «Табличную форму» и «Повторить метки элемента»
  4. Удалить все итоги и промежуточные итоги
  5. В ваших фильтрах снимите отметку (blank)
  6. Измените свои поля, чтобы иметь следующие настройки:
    • Включить новые элементы в ручной фильтр
    • Показать элементы без данных

Это автоматически даст вам все предметы. Если вы добавляете элементы в список, просто щелкните правой кнопкой мыши на сводной таблице и выберите Обновить.

0 голосов
/ 12 июня 2019

Я отвечаю только на эту часть:

способ объяснить, как добавить для дополнительного или вычесть столбец

Согласно вашим первым 3 столбцам "Site-Product-Type "есть" 2-3-5 "пунктов в каждом столбце.разделив исходную формулу на 3 строки:

=IFERROR( INDEX($A:$A,IF(INT((ROW(1:1)-1)/(((COUNTA(B:B)-1)*((COUNTA(C:C)-1)))))+2>COUNTA(A:A),-1,INT((ROW(1:1)-1)/(((COUNTA(B:B)-1)*((COUNTA(C:C)-1)))))+2))

&" "& INDEX(B:B,MOD(INT((ROW(1:1)-1)/(COUNTA(C:C)-1)),(COUNTA(B:B)-1))+2)

&" "& INDEX(C:C,MOD((ROW(1:1)-1),(COUNTA(C:C)-1))+2),"") 

Таким образом, каждый пункт «Сайт» необходимо повторить 3 * 5 раз (15 раз - например, MAR & BEL).[строка 1]

И для каждого элемента «Сайт» каждый элемент «Продукт» должен повторяться 5 раз (например, УФ, РАСТВОРИТЕЛЬ, ВОДА) [строка 2]

И длякаждый элемент «Продукт», каждый элемент «Тип» необходимо повторять 1 раз (например, 2,5,8,13,18) [строка 3]

Таким образом, общее количество выходных данных = 2 * 3* 5 = 30[эта часть была выполнена iferror(... , "") формул (без вывода после 30 (или 3 * 2 * 5) строк)]

В приведенной формуле .. это было сделано путем соотнесения номера строки (каксчетчик, используя row()), counta() (для подсчета количества элементов в каждом столбце, mod() (для получения повторения) и index() (для вызова каждого элемента столбца, в зависимости от обработанного номера строки)- больше информации: последние формулы в этой ссылке ).


Перенос в 5 столбцов "Сайт-Продукт-Тип-Труд-Часы":

Получите количество элементов / элементов для каждого столбца. (Вы должны получить 2-3-5-5-6)

Таким образом, общее количество выходных данных = 2 * 3 * 5 * 5 * 6 = 900.

каждый элемент «Сайт» должен повторяться 3 * 5 * 5 * 6 раз

для каждого элемента «Сайт», каждый элемент «Продукт» должен повторяться 5 * 5 * 6умножить

для каждого элемента «Продукт», каждый элемент «Тип» необходимо повторять 5 * 6 раз

для каждого элемента «Тип», каждый элемент «Труд» необходимо повторять 6раз

за каждый элемент труда, каждыйЭлемент «Часы» необходимо повторить 1 раз


Если вы удалите столбец ... просто используйте тот же шаблон.

Я надеюсь, вы понимаете логику.(:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...