1, 2. Равенство ячеек не является рефлексивным и симметричным отношением. Пример: A1 =1/0 B1 =ВПР(;; ) (или любая другая формула, возвращающая ошибочное значение, отличное от #ДЕЛ/0! )
3. Равенство ячеек не является транзитивным отношением. Пример: A1 пустая ячейка B1 0 С1 =""
Пояснения. Значения ячеек Excel могут имеет следующие типы (в скобках указаны подтипы типа Variant для возвращаемых свойством Range.Value2 значений):
пустые ячейки (Empty)
числа (Double)
тексты (String)
логические значения (Boolean)
ошибочные значение (Error)
Когда в формуле Excel мы сравниваем значения 2 ячеек, то:
Если первая ячейка имеет ошибочное значение, то независимо от типа сравнения и значения второй ячейки результат равен значению первой ячейки
Если первая ячейка не имеет ошибочное значение, а вторая ячейка имеет ошибочное значение, то результат равен значению второй ячейки
При сравнении пустой ячейки c числом, текстом, логическим значением ее значение интерпретируется как, соответственно 0, пустая текстовая строка (длины 0), false
При сравнении непустых ячеек: число < текст < логическое значение
Не думаю. Скорее всего, первоначальная договоренность. Тексты же сравниваются и сортируются не по их числовым кодам в юникоде, а по достаточно сложным правилам, установленным Unicode Consortium. Например (из Маршака):