Excel – увеличить счетчик, если данные найдены

Я работаю с некоторыми спортивными данными и пытаюсь динамически перенести информацию об игре в другой лист Excel. Я создал формулу Excel, которая делает в основном то, что я хочу, но я хочу посмотреть, смогу ли я немного изменить ее поведение. Вот несколько скриншотов данных, а затем я объясню, чего я пытаюсь достичь.

Этот первый снимок экрана представляет собой небольшую выборку некоторых данных, с которыми я работаю. У меня жирным шрифтом выделены ВВС, поскольку это пример команды, которую я буду использовать для сбора данных.

Здесь я извлекаю данные на другой лист в Excel. Таблица слева — это результат, который я получаю в данный момент, а таблица справа — это формат таблицы, которого я пытаюсь достичь. Ячейка A1 используется только для сравнения с листом «Расписание».

Вот формула, которую я сейчас использую:

=IFERROR(INDEX(Schedule!$A$1:$I$866,MATCH((AGGREGATE(15,3,((Schedule!$F$1:$I$866=$A$1)/(Schedule!$F$1:$I$866=$A$1)*ROW(Schedule!$F$2:$I$866))-ROW(Schedule!$F$1),ROWS($O$2:O2)))-1,Schedule!$A:$A,0),COLUMN(B$1)),"")

Итак, изменения, которые, как я знаю, необходимо будет сделать, чтобы сделать возможной вторую таблицу, - это оператор IF, который я создал, а затем выполнить приращение значения [k] формулы AGGREGATE, только если оператор IF верен.

Вот логика, которую я использую для оператора IF:

=IF(XLOOKUP(1,((Schedule!$B$2:$B$30=$I9)*((Schedule!$F$2:$F$30=$A$1)+(Schedule!$G$2:$G$30=$A$1))),Schedule!$B$2:$B$30,"")=$I9,*PULL THE DATA*,*LEAVE DATA BLANK*)

Таким образом, текущее используемое значение приращения [k] — это ROWS($O$2:O2), которое работает нормально, но поскольку «ВВС» отсутствует в течение 3-й недели, просто извлекается следующая доступная неделя — 4-я.

Как я могу вместо этого сохранить более статическое значение, которое увеличивается на 1 при фактическом запуске формулы?

Я изменил формулу на эту, которая позволяет мне иметь статические недели, а затем начинать с DATE, а не с WK:

=IF(XLOOKUP(1,((Schedule!$B$2:$B$30=$I9)*((Schedule!$F$2:$F$30=$A$1)+(Schedule!$G$2:$G$30=$A$1))),Schedule!$B$2:$B$30,"")=$I9,IFERROR(INDEX(Schedule!$A$1:$I$30,MATCH((AGGREGATE(15,3,((Schedule!$F$1:$I$30=$A$1)/(Schedule!$F$1:$I$30=$A$1)*ROW(Schedule!$F$2:$I$30))-ROW(Schedule!$F$1),ROWS($O$2:O2)))-1,Schedule!$A:$A,0),COLUMN(C$1)),""),"")

Поэтому, когда наступит третья неделя, поскольку за третью неделю данные не будут извлечены, мне нужно, чтобы значение [k] функции АГРЕГАТ не увеличивалось.

Возможно, я иду неверным путем, но это то, что мне удалось достаточно близко подойти к моей конечной цели по сбору данных.

Любая помощь приветствуется. Спасибо.

ОБНОВЛЯТЬ

Поскольку данные о неделях действительно являются статическими известными данными, я смог адаптировать и использовать предложение bugdropown, которое, похоже, работает безупречно.

=XLOOKUP($B2&$A$1,Schedule!$B$2:$B$30&Schedule!$F$2:$F$30,Schedule!$C$2:$G$30,XLOOKUP($B2&$A$1,Schedule!$B$2:$B$30&Schedule!$G$2:$G$30,Schedule!$C$2:$G$30,"",0),0)

Спасибо!

Какую версию Excel вы используете?

VBasic2008 24.08.2024 18:39

Сейчас использую версию 2407.

Link 24.08.2024 21:03
Преобразование HTML-таблицы в профессиональный документ Excel
Преобразование HTML-таблицы в профессиональный документ Excel
Это самый простой способ создания Excel из HTML-таблицы.
Импорт excel в laravel в базу данных
Импорт excel в laravel в базу данных
Здравствуйте, дорогой читатель, в этой статье я расскажу практическим и быстрым способом, как импортировать файл Excel в вашу базу данных с помощью...
1
3
50
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Предположения:
А.) Вы хотите получить полное расписание (домашние и выездные игры) для одной команды. Б.) «Пока» недели должны показывать пустую строку.

Поскольку количество недель в сезоне известно, создайте таблицу поиска, заполнив столбец WK: =SEQUENCE(18)

В формуле поиска установите аргумент lookup_value для объединения WK и названия команды. Мы вложим формулы XLOOKUP() так, чтобы, если для WK не существует выездной игры, другая XLOOKUP() будет искать конкатенацию WK и названия команды в столбце HOME, в противном случае — возвращать пустую строку.

В своей рабочей тетради я назвал лист с полным расписанием MasterSchedule, а расписание для критериальной группы — TeamSchedule. Я нашел команду lookup_value в ячейке TeamSchedule!$I$2 (сейчас установлена ​​в Air Force).

Заполнив данные WK за сезон TeamSchedule!$A2:$19 с помощью: =SEQUENCE(18) в TeamSchedule!$A$2, введите следующую формулу в TeamSchedule!B2 и перетащите ее вниз через TeamSchedule!B19:

 =XLOOKUP($A2&$I$2,MasterSchedule!$B$2:$B$30&MasterSchedule!$F$2:$F$30,MasterSchedule!$C$2:$G$30,
          XLOOKUP($A2&$I$2,MasterSchedule!$B$2:$B$30&MasterSchedule!$G$2:$G$30,MasterSchedule!$C$2:$G$30,"",0)
  ,0)

Мне удалось адаптировать это к своей таблице, и это отлично работает! Большое спасибо. Избавление от функции AGGREGATE также сделало это намного чище.

Link 24.08.2024 21:18

@Link Рад, что это помогло. Спасибо за баллы и удачи в вашем проекте.

bugdrown 24.08.2024 21:30

Другие вопросы по теме