Посмотрим, как делать собственные функции в дополнение к встроенным в Excel.

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

Примерно такую:

‘ Очень-очень хитрая функция
‘ аргументы:
‘ myValue - значение (целое)
‘ coefficient - коэффициент (вещественное)
‘ функция возвращает значение типа variant для того,
‘ чтобы мы могли запихать туда сообщение об ошибке

Function Falshivka(myValue As Integer, _
coefficient As Double) As Variant
‘ вводим переменную для промежуточных расчетов
Dim Res As Double

‘ сердце и мотор функции - вычисление
Res = myValue * coefficient

‘ а теперь разбодяжим слишком правильный результат.
‘ инициализируем генератор случайных чисел
Randomize

‘ и используем его (функция rnd вернет случайное
‘ число от 0 до 1)

‘ таким образом мы получим некоторой разброс
‘ вокруг вычисленного значения

Res = Res + (Rnd - 0.5) * (Res * 0.3)

‘ для интереса предположим, что при исходном
‘ значении больше нуля, результат тоже обязан
‘ быть положительным и ненулевым. Проверим это

If myValue > 0 And (Res < 0 Or Res = 0) Then
‘ ай, не повезло! придется выводить сообщение
об ошибке, да текстовое,
‘ чтобы заметно было, а потом - ручками, ручками…
Falshivka = “-= 0 =-”
Else
‘ все. Присваиваем функции правильный результат.
‘ Просто пишем имя нашей функции, знак «равно» и то,
‘ что она должна вернуть.

Falshivka = Res
End If
End
Function

Помните, что случайные значения Rnd вовсе не случайны! Было время, я наблюдал повторяющиеся последовательности среди чисел, что она выдает.

Вот так ненавязчиво можно обмануть доверившихся вам людей. Не делайте этого! Такой примитивный и безграмотный обман быстро откроется. Зато мы создали собственную функцию, ничем не хуже встроенной. Теперь в любой ячейке можно вбить «=falshivka()», и в скобках подставить ссылки на ячейки с нужными данными.

Не палите меня, ладно?

Также читайте всю серию постов по VBA.

  
Электронная книга: как правильно выбрать?
В настоящее время, электронные книги среди многих пользователей становятся всё более и более популяр
Какой правильно выбирать планшетный ПК?
Подобрать планшетный ПК достаточно непросто. Сегодня присутствует множество предложений, среди котор
Влияние музыки на человека трудно переоценить
Лечите душу ощущениями и…музыкой. Влияние музыки на человека поистине значительное, и это факт, о

2 комментариев на «VBA: Фальсификация результатов наблюдений в Excel»

  1. павел рындин пишет:

    тс-с-с-с!

Оставить комментарий