Если я правильно понимаю, вы ищете наибольшее значение в Column G
.
Я не уверен, почему вы думаете, что вам нужен VBA для этого.
Получите максимальное значение столбца
Вы упомянули, что вы обеспокоены тем, что в каждом столбце нет одинакового количества ячеек, но это не имеет значения.как SUM
игнорирует пустые ячейки , поэтому просто "идти долго" или - найти максимум всего столбца.
Чтобы вернуть наибольшее число в Column G
вы можете использовать формулу рабочего листа:
=MAX(G:G)
Единственный улов в том, что вы не можете разместить эту формулу в любом месте столбца G, иначе она создасткруговая ссылка на ячейку (пытается бесконечно добавить число к себе).давайте пока поместим эту формулу в ячейку F1
(но в любом случае, кроме столбца G
все будет в порядке).
Найдите расположение значения
Теперь, когда вы знаетеПо наибольшему значению вы можете определить , где использует функцию поиска, такую как MATCH
или VLOOKUP
.Как и во многих вещах в Excel, есть несколько способов сделать то же самое.Я пойду с MATCH
.
Заменить формулу сверху (в F1
) на:
=MATCH(MAX(G:G),G:G,0)
Это вернет номер строки из first точное совпадение максимального значения Column G
.
Что касается третьей части вопроса: возвращать код, такой как X12345
, где существует значение, будет немного сложно, так как ваши данные не организованы в логическом табличном стиле ( табличное значение, "как таблица" ).
Ваши данные организованы для просмотра людей , а не для машин легкочитать и манипулировать им.(См .: Служба поддержки Office: Рекомендации по организации и форматированию данных на листе )
По сути, при организации данных в строках вся соответствующая информация должна быть одинаковойряд (не субъективное количество строк позади).Кроме того, у вас есть номер в сочетании с другой информацией.
Мое предложение для быстрого исправления:
- Щелкните правой кнопкой мыши заголовок
Column C
и выберитеInsert
для вставки пустого столбца. - В
C2
введите формулу: =IF(B2="",C1,LEFT(B2,7))
- Копировать ячейку
C2
- Полностью выделить ячейки в столбце Cдо «конца» ваших данных, где бы это ни было ( не конец рабочего листа).Например, возможно, вы бы выбрали ячейки
B2:B1000
) - Вставьте скопированную ячейку во все эти ячейки.
Теперь вы можете снова изменить формулу в F1
:
=INDEX(C:C,MATCH(MAX(G:G),G:G,0))
Возвращает значение из Column C
в той же строке, в которой находится максимальное значение Column G
.
Это называется формулой INDEX/MATCH
.
Надеемся, что в дальнейшем это сработает, пока вы не сможете упорядочить свои данные.В Интернете много связанной информации и учебных пособий.