Основная проблема форматирования в Excel - VLOOKUP - PullRequest
0 голосов
/ 14 марта 2012

Мне нужна помощь с проблемой форматирования в Excel, которая мешает функции VLOOKUP в моем листе Excel.

У меня есть два листа с более чем 20 000 значений столбцов для поиска и одинаковым количеством значений для справки. Все значения в обеих ячейках странно отформатированы, некоторые с зелеными треугольниками в верхнем левом углу ячеек, некоторые текстовые и т. Д.

Есть ли способ в Excel с использованием макроса / VBA удалить или сделать все форматирование одинаковым на обоих листах? Причина VBA в том, что человеку, который собирается работать с этим файлом, нужно все автоматизировать и он совсем не знаком с Excel. У меня уже есть функция VLOOKUP в ячейках, мне просто нужно работать с форматированием.

Ответы [ 2 ]

2 голосов
/ 14 марта 2012

Что ж, я борюсь с частичным поиском следующим образом:

В массиве элементов я создаю новый пустой столбец FIRST, а затем помещаю формулу

="+"&B2

. Это займет содержимое ячейки.B2 и добавьте + перед ним.

Когда я делаю vlookup, я добавляю "+" к искомому значению

=VLOOKUP("+"&A6,A:O,2,FALSE)

Поэтому вместо сравнения, например, строк и чисел, ясравните строки, добавив "+" в начале.

Еще один метод - убить все форматирование: выделите весь столбец, нажмите DATA-TEXT TO COLUMNS-DELIMITED, а затем удалите все разделители.Нажмите Готово.Это очистит ваше форматирование.

================================================================================

Это решение VBA, которое вы задалидля:

Позвоните из Excel

=GetLookup(G2,A:C)

Вот VBA:

Function GetLookup(LOOKFOR As String, RANGEARRAY As Range) As String
  GetLookup = Application.WorksheetFunction.VLookup("+" & LOOKFOR, RANGEARRAY, 3, False)
End Function

Удачи!

1 голос
/ 14 марта 2012

Я предполагаю, что тип данных во всех ячейках одинаков, или вы хотите, чтобы все они были одинаковыми.Следующие шаги сделают ячейки единообразного типа:

  1. Сохраните книгу, если это не так, как вам требуется
  2. Выберите все ячейки, которые вы хотите иметь в одной ячейкевведите
  3. Нажмите Ctrl + 1, на вкладке «Число» выберите тип, который вы хотите использовать в этих ячейках.Нажмите OK.
  4. Откройте редактор VBA, используя Alt + F11
  5. Откройте непосредственное окно с помощью Ctrl + G
  6. Введите следующее: для каждой выделенной ячейки:cell.formula = cell.value: следующая ячейка
  7. Нажмите клавишу ввода (возможно, вам придется подождать несколько секунд).

Если вы выполните это действие с теми же даннымивведите (например, выберите «Текст» для обоих диапазонов в шаге 3) для обоих диапазонов, вы должны «сравнивать яблоки с яблоками», и ваш VLOOKUP должен функционировать должным образом.

Надеюсь, это поможет.

Редактировать: форматирование, уточнение

...