Прежде всего, у меня нет опыта работы со сценариями Excel, только базовые формулы. Я видел этот другой вопрос о SU, но я не уверен, что это именно то, что мне нужно, или как адаптировать его к моим потребностям.

Вот что я пытаюсь:

У меня есть электронная таблица с 3 столбцами и 10 строками, каждая из которых имеет уникальные значения. Например:

Column A
--------
White 
Black 
Blue 
etc (until 10 items)

Column B
--------
USA
Canada 
Mexico 
etc (until 10 items)

Column C
--------
English
French 
Spanish 
etc (until 10 items)

Всего 30 элементов. Я хотел бы создать новую таблицу с этими 3 столбцами и 1000 строк, где каждая строка будет иметь уникальную комбинацию этих 3 элементов (поэтому 2 строки никогда не будут иметь одинаковые 3 элемента). Просто для пояснения, порядок столбцов должен быть одинаковым (A, B, C), и, конечно, элементы одного столбца всегда остаются в этом столбце.

Примеры результирующих строк:

White | USA | English
White | USA | French
Black | USA | English
Black | Canada | English
... up to 1000 combinations

Любая помощь будет оценена!

РЕДАКТИРОВАТЬ

Суть этого вопроса:1. Поймите, относится ли решение, приведенное в связанном ответе, к моему делу 2. Знайте, есть ли другие способы решения этой проблемы, которые не являются сценариями (формулы, инструменты Excel и т.д.)

1 ответ1

2

В ответе ниже я предполагаю, что ваши исходные данные находятся в ячейках A1:C10 и не имеют заголовков. Решение не использует скрипты. Используются только формулы Excel.

  1. Введите следующую формулу =MOD((ROW()-1),10)+1 в ячейку D1
  2. Введите =MOD(INT((ROW()-1)/10),10)+1 в ячейку E1
  3. Введите =MOD(INT(INT((ROW()-1)/10)/10),10)+1 в ячейку F1
  4. Выберите ячейки D1:F1 и перетащите их вниз в строку 1000, чтобы заполнить область D1:F1000 уникальными комбинациями индексов.
  5. Введите =INDEX(A$1:A$10,D1) в ячейку G1
  6. Выберите ячейку G1 и перетащите ее вправо к ячейке I1
  7. Выберите ячейки G1:I1 и перетащите их вниз в строку 1000, чтобы заполнить область G1:I1000 уникальными комбинациями исходных данных.

Объяснение:

Формулы в ячейках D1, E1 и F1 вычисляют число сотых, десятых и единиц в текущем номере строки (номер строки корректируется на -1). Это дает массив уникальных индексов. Функция INDEX (range, row_num) возвращает значение из диапазона заданного номера строки.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .