Есть данные в виде чисел из которых с помощью простых формул получаем другие числа (один знак после запятой). Полученные числа точно являются числами - если мы введём рядом число с клавиатуры и сверим с помощью А1=B1, то получим ИСТИНА. Если затем по этим числам с помощью ВПР или ИНДЕКС попытаться подтянуть значения из таблицы, то по части чисел этого не произойдёт - выдаст НД (данные точно есть в таблице и они тоже 100% числа). Если данные, полученные формулой, скопировать и вставить как значения, то также формулы ВПР и ИНДЕКС в части случаев не сработают. Однако, если воспользоваться числами идентичными полученными формулой, но вбитыми вручную, то всё подтягивается. Я уже подумал может числа и не числа каким-то образом и применил ЗНАЧЕН, но и это не помогло. Ещё раз упомяну, что числа полученные формулой и числа вбитые вручную одинаковые я проверил это через A1=A2, но по одним формула работает, а по другим нет. И это не может быть проблемой чисел с большим количеством знаков или тем, что я идиот не могу вбить число верно, так как в числах 3 знака. Я в смятении, помогите, пожалуйста! Файл прикладываю.
Есть данные в виде чисел из которых с помощью простых формул получаем другие числа (один знак после запятой). Полученные числа точно являются числами - если мы введём рядом число с клавиатуры и сверим с помощью А1=B1, то получим ИСТИНА. Если затем по этим числам с помощью ВПР или ИНДЕКС попытаться подтянуть значения из таблицы, то по части чисел этого не произойдёт - выдаст НД (данные точно есть в таблице и они тоже 100% числа). Если данные, полученные формулой, скопировать и вставить как значения, то также формулы ВПР и ИНДЕКС в части случаев не сработают. Однако, если воспользоваться числами идентичными полученными формулой, но вбитыми вручную, то всё подтягивается. Я уже подумал может числа и не числа каким-то образом и применил ЗНАЧЕН, но и это не помогло. Ещё раз упомяну, что числа полученные формулой и числа вбитые вручную одинаковые я проверил это через A1=A2, но по одним формула работает, а по другим нет. И это не может быть проблемой чисел с большим количеством знаков или тем, что я идиот не могу вбить число верно, так как в числах 3 знака. Я в смятении, помогите, пожалуйста! Файл прикладываю.Apxuej
вот такое 20,4 находит. Хотя вот странное всё ж в одном месте есть:
Если тут константу ввести повторно то найдёт! Хотя и сейчас она число, и ниже ИСТИНА - это сравнение константы со списком для ВПР. Но функция значение не находит. P.S. нашёл где косяк, но не понятно откуда такая константа, явно не вручную вбивали (и это портит всё расследование (( ): [vba]
вот такое 20,4 находит. Хотя вот странное всё ж в одном месте есть:
Если тут константу ввести повторно то найдёт! Хотя и сейчас она число, и ниже ИСТИНА - это сравнение константы со списком для ВПР. Но функция значение не находит. P.S. нашёл где косяк, но не понятно откуда такая константа, явно не вручную вбивали (и это портит всё расследование (( ): [vba]
Hugo, спасибо большое! Дополнительное округление действительно помогло! 26,2 не вбивал вручную - в столбце "константа" вбивал с клавиатуры только значения 20,4 и 19, остальные получены копированием и вставкой соседней ячейки как значения. И всё-таки это в очередной раз баг с числами с большим количеством знаков после запятой. У меня уже такое бывало, но на этот раз этого даже заметить невозможно из интерфейса! После того как увидел Ваше сообщение, сразу появилось следующее предположение: допустим есть число с 15+ знаками после запятой, функция округления берёт 14+"аргумент кол-во знаков после запятой"=15 знаков после запятой, превращает их в нули до нужного нам знака. Потом происходит деление на 0,2, что поднимает цифру из 16 знака после запятой до 15 знака, где его могут видеть некоторые формулы, но не все. Потом следующая ОКРУГЛ берёт 14+"аргумент"=14 знаков после запятой, что оставляет цифру в 15 знаке. Потом ещё одна функция округления берёт 14+1 знак после запятой, что исправляет ситуацию. Но это предположение не работает, ведь если взять ту ОКРУГЛ, которую Вы предложили для исправления ситуации с вторым аргументом 0, то всё равно ситуация исправляется. Может у Вас есть предположение, что может происходить? Хотелось бы понимать логику, чтобы в дальнейшем избегать таких ситуаций.
Hugo, спасибо большое! Дополнительное округление действительно помогло! 26,2 не вбивал вручную - в столбце "константа" вбивал с клавиатуры только значения 20,4 и 19, остальные получены копированием и вставкой соседней ячейки как значения. И всё-таки это в очередной раз баг с числами с большим количеством знаков после запятой. У меня уже такое бывало, но на этот раз этого даже заметить невозможно из интерфейса! После того как увидел Ваше сообщение, сразу появилось следующее предположение: допустим есть число с 15+ знаками после запятой, функция округления берёт 14+"аргумент кол-во знаков после запятой"=15 знаков после запятой, превращает их в нули до нужного нам знака. Потом происходит деление на 0,2, что поднимает цифру из 16 знака после запятой до 15 знака, где его могут видеть некоторые формулы, но не все. Потом следующая ОКРУГЛ берёт 14+"аргумент"=14 знаков после запятой, что оставляет цифру в 15 знаке. Потом ещё одна функция округления берёт 14+1 знак после запятой, что исправляет ситуацию. Но это предположение не работает, ведь если взять ту ОКРУГЛ, которую Вы предложили для исправления ситуации с вторым аргументом 0, то всё равно ситуация исправляется. Может у Вас есть предположение, что может происходить? Хотелось бы понимать логику, чтобы в дальнейшем избегать таких ситуаций.Apxuej