Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/ВПР с поиском и прибавлением остатка - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
ВПР с поиском и прибавлением остатка
Sharleez Дата: Вторник, 23.10.2012, 20:30 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 19
Репутация: 0 ±
Замечаний: 0% ±

Здравствуйте!
Очень нужна помощь в написании формулы для расчета объема сырья по замерам.
Прежде здесь мне помогли с формулой с учетом остатка, но я всю голову сломала и на данную базу данных адаптировать её не могу - таблица совсем иная.
В ней значения по уровням только для целых чисел, а по сантиметрам, в случае дробного по поясам и уже готовые для суммы.
Вообщем, необходимо к обычному ВПР для целого прибавить значение на пересечении строки, в которой содержится указанное целое и столбца с указанным осле запятой количеством десятых. Не знаю насколько понятно, по-моему не ясно будет, но в примере еще указала что с чем.
 
Ответить
СообщениеЗдравствуйте!
Очень нужна помощь в написании формулы для расчета объема сырья по замерам.
Прежде здесь мне помогли с формулой с учетом остатка, но я всю голову сломала и на данную базу данных адаптировать её не могу - таблица совсем иная.
В ней значения по уровням только для целых чисел, а по сантиметрам, в случае дробного по поясам и уже готовые для суммы.
Вообщем, необходимо к обычному ВПР для целого прибавить значение на пересечении строки, в которой содержится указанное целое и столбца с указанным осле запятой количеством десятых. Не знаю насколько понятно, по-моему не ясно будет, но в примере еще указала что с чем.

Автор - Sharleez
Дата добавления - 23.10.2012 в 20:30
Sharleez Дата: Вторник, 23.10.2012, 20:39 | Сообщение № 2
Группа: Пользователи
Ранг: Новичок
Сообщений: 19
Репутация: 0 ±
Замечаний: 0% ±

почему у меня файл никогда с первого раза не добавляется? я прикрепляла к теме. может я что-нибудь не так делаю.
 
Ответить
Сообщениепочему у меня файл никогда с первого раза не добавляется? я прикрепляла к теме. может я что-нибудь не так делаю.

Автор - Sharleez
Дата добавления - 23.10.2012 в 20:39
Sharleez Дата: Вторник, 23.10.2012, 20:43 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 19
Репутация: 0 ±
Замечаний: 0% ±

вот и сохранила в 2003 а он весит до фига, не крепится, так что пересохранила.
К сообщению приложен файл: 4674042.xlsx (77.0 Kb)
 
Ответить
Сообщениевот и сохранила в 2003 а он весит до фига, не крепится, так что пересохранила.

Автор - Sharleez
Дата добавления - 23.10.2012 в 20:43
_Boroda_ Дата: Вторник, 23.10.2012, 21:11 | Сообщение № 4
Группа: Админы
Ранг: Местный житель
Сообщений: 16715
Репутация: 6504 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
[vba]
Code
=ВПР(ЦЕЛОЕ(F5);ГРАДТАБЛ2000;2;0)+ВПР(ЦЕЛОЕ(F5);ГРАДТАБЛ2000;ОСТАТ(F5;1)*10+2;0)*(ОСТАТ(F5;1)>0)
[/vba]


Объяснялка
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) даст нам ноль, который мы и прибавляем к первому ВПРу.
К сообщению приложен файл: 4674042_1.xlsx (80.6 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
Сообщение[vba]
Code
=ВПР(ЦЕЛОЕ(F5);ГРАДТАБЛ2000;2;0)+ВПР(ЦЕЛОЕ(F5);ГРАДТАБЛ2000;ОСТАТ(F5;1)*10+2;0)*(ОСТАТ(F5;1)>0)
[/vba]


Объяснялка
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_
Дата добавления - 23.10.2012 в 21:11
Sharleez Дата: Вторник, 23.10.2012, 21:27 | Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 19
Репутация: 0 ±
Замечаний: 0% ±

_Boroda_,
все работает. спасибо огромное)))). а если несложно можете мне объяснить почему остаток именно так прописан.
особенно ОСТАТ(F5;1)*10+2, почему +2. и множитель (ОСТАТ(F5;1)>0 его суть в чем.
я просто хочу вникнуть, а не тупо воспользоваться - может в будущем буду своими силами обходиться.
Заранее благодарю.
 
Ответить
Сообщение_Boroda_,
все работает. спасибо огромное)))). а если несложно можете мне объяснить почему остаток именно так прописан.
особенно ОСТАТ(F5;1)*10+2, почему +2. и множитель (ОСТАТ(F5;1)>0 его суть в чем.
я просто хочу вникнуть, а не тупо воспользоваться - может в будущем буду своими силами обходиться.
Заранее благодарю.

Автор - Sharleez
Дата добавления - 23.10.2012 в 21:27
AlexM Дата: Среда, 24.10.2012, 00:44 | Сообщение № 6
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4517
Репутация: 1129 ±
Замечаний: 0% ±

Excel 2003
Sharleez,
Можно вместо ВПР использовать ИНДЕКС
Code
=ИНДЕКС(ГРАДТАБЛ2000;ЦЕЛОЕ(F5)+3;2)+ИНДЕКС(ГРАДТАБЛ2000;ЦЕЛОЕ(F5)+3;ОСТАТ(F5;1)*10+2)*(ОСТАТ(F5;1)>0)

или без именованного диапазона
Code
=ИНДЕКС(O:X;ЦЕЛОЕ(F5)+4;1)+ИНДЕКС(O:X;ЦЕЛОЕ(F5)+4;ОСТАТ(F5;1)*10+1)*(ОСТАТ(F5;1)>0)

По идеи формулы должны работать быстрее ВПР



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.


Сообщение отредактировал AlexM - Среда, 24.10.2012, 00:45
 
Ответить
СообщениеSharleez,
Можно вместо ВПР использовать ИНДЕКС
Code
=ИНДЕКС(ГРАДТАБЛ2000;ЦЕЛОЕ(F5)+3;2)+ИНДЕКС(ГРАДТАБЛ2000;ЦЕЛОЕ(F5)+3;ОСТАТ(F5;1)*10+2)*(ОСТАТ(F5;1)>0)

или без именованного диапазона
Code
=ИНДЕКС(O:X;ЦЕЛОЕ(F5)+4;1)+ИНДЕКС(O:X;ЦЕЛОЕ(F5)+4;ОСТАТ(F5;1)*10+1)*(ОСТАТ(F5;1)>0)

По идеи формулы должны работать быстрее ВПР

Автор - AlexM
Дата добавления - 24.10.2012 в 00:44
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!