Я бы порекомендовал использовать UDF, написанный на C #, - относительно прост в разработке (если вы знакомы с C #) и самый быстрый выбор, когда дело доходит до исполнения.
Чтение ссылки, предоставленной gbn, даст гораздо более глубокое понимание предмета, хотя, безусловно, займет больше времени.