Я хотел бы создать "промежуточный итог" таблицы, в которой функция промежуточного итога представляет собой строку concat вместо некоторой числовой функции (count, sum, average)

Например, рассмотрим эту таблицу:

Я хочу следующий результат:

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

И, действительно, Excel очень мощный с множеством функций. Так могу ли я достичь этого каким-либо другим способом, кроме подытога? (Я бы предпочел не скриптовые решения.)

И, кроме того, Excel не единственный инструмент в наборе инструментов. Предположим, у меня была эта таблица в файле CSV. Есть ли способ сделать это с помощью стандартных утилит Unix (например, cut? Предположительно, с этим справится awk , как бы это выглядело)?

1 ответ1

2

Возможно, это не самое элегантное решение, но попробуйте это, основываясь на том факте, что Col1 гарантированно будет отсортирован:

  1. Добавьте столбец (C) для хранения совокупных объединений значений Col2. Формула для ячейки C2:=IF(A2=A1, CONCATENATE(C1, ",", B2), B2) и вы можете заполнить ее автоматически для остальных ячеек.

  2. Добавьте столбец (D), чтобы пометить строки, содержащие максимальную (самую длинную) конкатенацию, то есть последнюю строку каждого значения в Col1. Формула для ячейки D2:=IF(A2<>A3, TRUE, FALSE) и вы можете заполнить остальные ячейки.

    Таблица будет выглядеть так:

  3. Отфильтруйте таблицу по TRUE значениям в столбце D:

  4. Теперь вы можете скрыть столбцы B и D:

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