У меня есть несколько (10, если быть точным) рабочих листов в документе, отформатированном так, каждый из которых соответствует классу:
| Name | Time 1 | Time 2 | Time 3 | Time 4 |
--------------------------------------------
| Jack | Place1 | Place2 | Place3 | Place4 |
| John | Place4 | Place6 | Place2 | Place9 |
| Dave | Place8 | Place2 | Place5 | Place1 |
которые содержат информацию для людей, где они принадлежат в данный момент времени (например, расписание). В каждом классе около 25 человек и 9 разных мест. Что мне нужно сделать, это создать таблицы 4х9 (для каждого места и времени), в которых будут перечислены все люди, которые в данный момент находятся в данном месте. Так будет и так:
On one sheet:
Place 1 - Time 1
| Name | Signature |
--------------------
| Jack | |
| Some | | <--- this guy is from a different class (sheet)
On another sheet:
Place 2 - Time 2
| Name | |
--------------------
| Jack | |
| Dave | |
| Mark | | <--- again, another class
Это может быть что угодно, макрос, VBS, функции, все, что на самом деле не имеет значения. Если это поможет каким-либо образом, я не знаю, правильно определить размеры новых таблиц, у меня уже есть таблица, содержащая количество людей в каждом месте и времени. К сожалению, я не могу сделать это вручную, это слишком много данных ...
Спасибо за помощь!
источник
Ответы:
Так что я понял, это было сделано по этой формуле. Я заменю переменные с их объяснением. Это долго, но на самом деле это довольно легко. Пожалуйста, игнорируйте чешские версии функций,
KDYŽ
знак равноIF
,ŘÁDEK
знак равноROW
а такжеŘÁDKY
знак равноROWS
,))))))))))
Основная часть повторяется там несколько раз, в качестве альтернативного текста для
IFERROR()
функция:Приведенная выше формула будет, если значения установлены правильно, вернет все значения из столбца возврата, если в диапазоне поиска найдено правильное значение. Теперь, если вам нужно выполнить то, что мне нужно, то есть получить значения из нескольких таблиц в один список, вам нужно установить эту формулу в качестве альтернативы для
IFERROR
один раз для каждой исходной таблицы.Это хорошо, но это не единственное, что нам нужно сделать. Эта формула работает путем внутреннего создания массива возвращаемых значений внутри каждой ячейки списка и последующего выбора N-го наименьшего индекса (
INDEX
функция), где N задаетсяROWS
функция внутриINDEX
, Так что, если мы не сделаем следующее, то при переходе к следующей таблице попытаемся снова выбрать N-й индекс, однако в предыдущих таблицах уже есть некоторые значения. Нам нужно вычесть количество предметов, уже присутствующих в таблице, используяCOUNTIF
функция. Поэтому после того, как мы добавим вторую итерацию нашей формулы, все будет выглядеть так:И с каждой новой итерацией внутри следующего
IFERROR
мы должны добавить еще-COUNTIF
функционировать и сохранить предыдущие. Затем, когда все настроено, вы можете просто перетащить свою формулу на доску и создать списки, сколько захотите!Я действительно надеюсь, что это кому-то поможет, если вы можете оставить комментарий :) Я потратил некоторое время на эту формулу и выяснил, как все работает, поэтому, если я сэкономил вам время, я был бы рад помочь! :)
источник