Как бороться с "#Н/Д"
Сразу оговорюсь, бороться с "#Н/Д" нужно далеко не всегда. Если функция ВПР возвращает значение #Н/Д (по справке - "значение недоступно", но мне почему-то больше нравится - "нет данных") значит она не находит искомое значение, это полезная информация т.к. позволяет сравнивать данные двух таблиц. С другой стороны #Н/Д в столбце данных не позволяет производить по нему математические операции, например суммирование. В этом случае с "#Н/Д" можно и нужно "бороться".

Решить это проблему позволяет конструкция из трех функций ЕСЛИ(), ЕНД(), и собственно ВПР(). Выглядит это так:

Учитывая, что функция ЕНД() возвращает значение ИСТИНА если функция ВПР возвращает значение #Н/Д и ЛОЖЬ - если нет, смысл конструкции можно описать так. Если функция ВПР равна #Н/Д, тогда возвратить 0, в противном случае - возвратить значение функции ВПР.

Указанная конструкция с небольшими изменениями позволяет посчитать количество совпадение в двух базах данных. Например:

При каждом совпадении функция вернет 1, количество единиц и есть число совпадений.
