Здравствуйте! Очень нужна помощь в написании формулы для расчета объема сырья по замерам. Прежде здесь мне помогли с формулой с учетом остатка, но я всю голову сломала и на данную базу данных адаптировать её не могу - таблица совсем иная. В ней значения по уровням только для целых чисел, а по сантиметрам, в случае дробного по поясам и уже готовые для суммы. Вообщем, необходимо к обычному ВПР для целого прибавить значение на пересечении строки, в которой содержится указанное целое и столбца с указанным осле запятой количеством десятых. Не знаю насколько понятно, по-моему не ясно будет, но в примере еще указала что с чем.
Здравствуйте! Очень нужна помощь в написании формулы для расчета объема сырья по замерам. Прежде здесь мне помогли с формулой с учетом остатка, но я всю голову сломала и на данную базу данных адаптировать её не могу - таблица совсем иная. В ней значения по уровням только для целых чисел, а по сантиметрам, в случае дробного по поясам и уже готовые для суммы. Вообщем, необходимо к обычному ВПР для целого прибавить значение на пересечении строки, в которой содержится указанное целое и столбца с указанным осле запятой количеством десятых. Не знаю насколько понятно, по-моему не ясно будет, но в примере еще указала что с чем.Sharleez
Объяснялка 1) ОСТАТ(F5;1) - этой формулой мы делим число из f5 на единицу и как бы делаем целую часть полученного числа нулем, а то, что после запятой, так и остается (например, =ОСТАТ(555,6;1) будет 0,6). 2) Умножив п.1 на 10, получим не 0,6, а 6. 3) Но нам в таблице ГрадТабл нужно найти для ВПРа не 6-й столбец, а 8-й (столбец с номером 6 у нас в таблице 8-й по счету), поэтому, прибавляем еще 2 и полученное число является номером столбца для ВПР, который, во всем остальном, точно такой, как и в формуле, что была раньше. 4) Но, если число в F5 не дробное, а целое, то тогда нам пункты 1-3 делать не нужно. Для этого мы умножаем всю нашу конструкцию на (ОСТАТ(F5;1)>0). Если число в F5 целое, то его остаток от деления на 1 равен нулю, следовательно, выражение в скобках дает нам ЛОЖЬ, а ЛОЖЬ, умноженная на любое число (то, которое мы получим в п.п. 1-3) даст нам ноль, который мы и прибавляем к первому ВПРу.
Объяснялка 1) ОСТАТ(F5;1) - этой формулой мы делим число из f5 на единицу и как бы делаем целую часть полученного числа нулем, а то, что после запятой, так и остается (например, =ОСТАТ(555,6;1) будет 0,6). 2) Умножив п.1 на 10, получим не 0,6, а 6. 3) Но нам в таблице ГрадТабл нужно найти для ВПРа не 6-й столбец, а 8-й (столбец с номером 6 у нас в таблице 8-й по счету), поэтому, прибавляем еще 2 и полученное число является номером столбца для ВПР, который, во всем остальном, точно такой, как и в формуле, что была раньше. 4) Но, если число в F5 не дробное, а целое, то тогда нам пункты 1-3 делать не нужно. Для этого мы умножаем всю нашу конструкцию на (ОСТАТ(F5;1)>0). Если число в F5 целое, то его остаток от деления на 1 равен нулю, следовательно, выражение в скобках дает нам ЛОЖЬ, а ЛОЖЬ, умноженная на любое число (то, которое мы получим в п.п. 1-3) даст нам ноль, который мы и прибавляем к первому ВПРу._Boroda_
_Boroda_, все работает. спасибо огромное)))). а если несложно можете мне объяснить почему остаток именно так прописан. особенно ОСТАТ(F5;1)*10+2, почему +2. и множитель (ОСТАТ(F5;1)>0 его суть в чем. я просто хочу вникнуть, а не тупо воспользоваться - может в будущем буду своими силами обходиться. Заранее благодарю.
_Boroda_, все работает. спасибо огромное)))). а если несложно можете мне объяснить почему остаток именно так прописан. особенно ОСТАТ(F5;1)*10+2, почему +2. и множитель (ОСТАТ(F5;1)>0 его суть в чем. я просто хочу вникнуть, а не тупо воспользоваться - может в будущем буду своими силами обходиться. Заранее благодарю.Sharleez