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

Вход

Регистрация

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

 

= Мир MS Excel/Формула для расчета данных, например 5/6+5/6=10/12 - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Формула для расчета данных, например 5/6+5/6=10/12 (Формулы/Formulas)
Формула для расчета данных, например 5/6+5/6=10/12
miranim Дата: Четверг, 04.09.2014, 16:14 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 33
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Формула для расчета данных, например 5/6+5/6=10/12
К сообщению приложен файл: 0193249.xls (14.0 Kb)


Сообщение отредактировал miranim - Четверг, 04.09.2014, 20:39
 
Ответить
СообщениеФормула для расчета данных, например 5/6+5/6=10/12

Автор - miranim
Дата добавления - 04.09.2014 в 16:14
MCH Дата: Четверг, 04.09.2014, 17:25 | Сообщение № 2
Группа: Админы
Ранг: Старожил
Сообщений: 2003
Репутация: 751 ±
Замечаний: ±

в чем вопрос?
я всегда считал, что 5/6+5/6=10/6
 
Ответить
Сообщениев чем вопрос?
я всегда считал, что 5/6+5/6=10/6

Автор - MCH
Дата добавления - 04.09.2014 в 17:25
AndreTM Дата: Четверг, 04.09.2014, 23:05 | Сообщение № 3
Группа: Друзья
Ранг: Старожил
Сообщений: 1762
Репутация: 500 ±
Замечаний: 0% ±

2003 & 2010
Почитайте про Макрофункции (например, про Вычислить), и попробуйте задать для нужных ячеек формат "Дробный"...


Skype: andre.tm.007
Donate: Qiwi: 9517375010
 
Ответить
СообщениеПочитайте про Макрофункции (например, про Вычислить), и попробуйте задать для нужных ячеек формат "Дробный"...

Автор - AndreTM
Дата добавления - 04.09.2014 в 23:05
jakim Дата: Четверг, 04.09.2014, 23:18 | Сообщение № 4
Группа: Друзья
Ранг: Старожил
Сообщений: 1199
Репутация: 313 ±
Замечаний: 0% ±

Excel 2010
Попробуйте так.
Код

=CONCATENATE(--LEFT(B5;SEARCH("/";B5)-1)+--LEFT(D5;SEARCH("/";B5)-1);"/";--MID(B5;SEARCH("/";B5)+1;222)+--MID(D5;SEARCH("/";B5)+1;222))
 
Ответить
Сообщение
Попробуйте так.
Код

=CONCATENATE(--LEFT(B5;SEARCH("/";B5)-1)+--LEFT(D5;SEARCH("/";B5)-1);"/";--MID(B5;SEARCH("/";B5)+1;222)+--MID(D5;SEARCH("/";B5)+1;222))

Автор - jakim
Дата добавления - 04.09.2014 в 23:18
ikki Дата: Пятница, 05.09.2014, 01:05 | Сообщение № 5
Группа: Друзья
Ранг: Старожил
Сообщений: 1906
Репутация: 504 ±
Замечаний: 0% ±

Excel 2003, 2010
небольшой оффтоп (ибо udf)
К сообщению приложен файл: miranim.xls (34.5 Kb)


помощь по Excel и VBA
ikki@fxmail.ru, icq 592842413, skype alex.ikki
 
Ответить
Сообщениенебольшой оффтоп (ибо udf)

Автор - ikki
Дата добавления - 05.09.2014 в 01:05
_Boroda_ Дата: Пятница, 05.09.2014, 03:34 | Сообщение № 6
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16675
Репутация: 6481 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
jakim, у Вас в расчете ячейки D сидит поиск в ячейке В.
И еще немного поясню необходимость применения бинарного отрицания --.
Оно используется для преобразования "текстового" числа А в "числовое" число, правильно? То есть, над текстом А производится математическое действие, фактически числовое значение этого А не меняющее, так? Следовательно, делаем вывод, что эту операцию нужно производить в том случае, когда в самом выражении внутри формулы над текстом А не производится никакая математическая операция (типа СЧЁТ(ЛЕВСИМВ(B5;2)) даст нам 0, а СЧЁТ(--ЛЕВСИМВ(B5;2)) даст нам 1). А вот когда внутри функции над текстом А уже производится какая-то математическая операция (например, А+В), то бинарное отрицание не нужно - мы ведь уже этой операцией преобразовали текст А в число А (то есть, в выражении СЧЁТ(ЛЕВСИМВ(B5;2)+ЛЕВСИМВ(B6;2)) уже есть один плюс и его вполне достаточно).
То есть, формулу можно переписать так:
Код
=(ЛЕВБ(B5;ПОИСК("/";B5)-1)+ЛЕВБ(D5;ПОИСК("/";D5)-1)&"/"&ПСТР(B5;ПОИСК("/";B5)+1;99)+ПСТР(D5;ПОИСК("/";D5)+1;99))


А вообще - ведь в столбце С вовсе не обязательно должен быть знак "плюс"?
Тогда намного разумнее будет воспользоваться рекомендацией Андрея и использовать макрофункцию ВЫЧИСЛИТЬ.
См. вложение.
К сообщению приложен файл: 0193249_1.xls (25.5 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
Сообщениеjakim, у Вас в расчете ячейки D сидит поиск в ячейке В.
И еще немного поясню необходимость применения бинарного отрицания --.
Оно используется для преобразования "текстового" числа А в "числовое" число, правильно? То есть, над текстом А производится математическое действие, фактически числовое значение этого А не меняющее, так? Следовательно, делаем вывод, что эту операцию нужно производить в том случае, когда в самом выражении внутри формулы над текстом А не производится никакая математическая операция (типа СЧЁТ(ЛЕВСИМВ(B5;2)) даст нам 0, а СЧЁТ(--ЛЕВСИМВ(B5;2)) даст нам 1). А вот когда внутри функции над текстом А уже производится какая-то математическая операция (например, А+В), то бинарное отрицание не нужно - мы ведь уже этой операцией преобразовали текст А в число А (то есть, в выражении СЧЁТ(ЛЕВСИМВ(B5;2)+ЛЕВСИМВ(B6;2)) уже есть один плюс и его вполне достаточно).
То есть, формулу можно переписать так:
Код
=(ЛЕВБ(B5;ПОИСК("/";B5)-1)+ЛЕВБ(D5;ПОИСК("/";D5)-1)&"/"&ПСТР(B5;ПОИСК("/";B5)+1;99)+ПСТР(D5;ПОИСК("/";D5)+1;99))


А вообще - ведь в столбце С вовсе не обязательно должен быть знак "плюс"?
Тогда намного разумнее будет воспользоваться рекомендацией Андрея и использовать макрофункцию ВЫЧИСЛИТЬ.
См. вложение.

Автор - _Boroda_
Дата добавления - 05.09.2014 в 03:34
miranim Дата: Пятница, 05.09.2014, 09:36 | Сообщение № 7
Группа: Пользователи
Ранг: Новичок
Сообщений: 33
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Спасибо огромное
 
Ответить
СообщениеСпасибо огромное

Автор - miranim
Дата добавления - 05.09.2014 в 09:36
AlexM Дата: Пятница, 05.09.2014, 10:00 | Сообщение № 8
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4495
Репутация: 1116 ±
Замечаний: 0% ±

Excel 2003
Еще вариант функции пользователя
[vba]
Код
Function miranim1$(r As Range)
x1 = Split(r(1), "/"): x2 = Split(r(3), "/")
If r(2) <> Empty Then miranim1 = Evaluate(x1(0) & r(2) & x2(0)) & "/" & Evaluate(x1(1) & r(2) & x2(1))
End Function
[/vba]
К сообщению приложен файл: miranim1.xls (31.5 Kb)



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


Сообщение отредактировал AlexM - Пятница, 05.09.2014, 22:09
 
Ответить
СообщениеЕще вариант функции пользователя
[vba]
Код
Function miranim1$(r As Range)
x1 = Split(r(1), "/"): x2 = Split(r(3), "/")
If r(2) <> Empty Then miranim1 = Evaluate(x1(0) & r(2) & x2(0)) & "/" & Evaluate(x1(1) & r(2) & x2(1))
End Function
[/vba]

Автор - AlexM
Дата добавления - 05.09.2014 в 10:00
miranim Дата: Пятница, 05.09.2014, 14:35 | Сообщение № 9
Группа: Пользователи
Ранг: Новичок
Сообщений: 33
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
AlexM, большое спасибо.
 
Ответить
СообщениеAlexM, большое спасибо.

Автор - miranim
Дата добавления - 05.09.2014 в 14:35
ikki Дата: Пятница, 05.09.2014, 14:50 | Сообщение № 10
Группа: Друзья
Ранг: Старожил
Сообщений: 1906
Репутация: 504 ±
Замечаний: 0% ±

Excel 2003, 2010
AlexM, опечатку поправьте


помощь по Excel и VBA
ikki@fxmail.ru, icq 592842413, skype alex.ikki
 
Ответить
СообщениеAlexM, опечатку поправьте

Автор - ikki
Дата добавления - 05.09.2014 в 14:50
AlexM Дата: Пятница, 05.09.2014, 22:10 | Сообщение № 11
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4495
Репутация: 1116 ±
Замечаний: 0% ±

Excel 2003
опечатку поправьте
Спасибо. Исправил и заменил файл.



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.
 
Ответить
Сообщение
опечатку поправьте
Спасибо. Исправил и заменил файл.

Автор - AlexM
Дата добавления - 05.09.2014 в 22:10
krosav4ig Дата: Пятница, 05.09.2014, 23:16 | Сообщение № 12
Группа: Друзья
Ранг: Старожил
Сообщений: 2347
Репутация: 989 ±
Замечаний: 0% ±

Excel 2007,2010,2013
вот еще маааненькая формулка :)
Код
=ЕСЛИОШИБКА((СУММ(ЦЕЛОЕ((ЛЕВБ(A3;ПОИСК("/";A3)-1)*НОК(ЗАМЕНИТЬ(A3;1;ПОИСК("/";A3););ЗАМЕНИТЬ(C3;1;ПОИСК("/";C3);))/ЗАМЕНИТЬ(A3;1;ПОИСК("/";A3);)+(B3&1)*ЛЕВБ(C3;ПОИСК("/";C3)-1)*НОК(ЗАМЕНИТЬ(A3;1;ПОИСК("/";A3););ЗАМЕНИТЬ(C3;1;ПОИСК("/";C3);))/ЗАМЕНИТЬ(C3;1;ПОИСК("/";C3);))/НОК(ЗАМЕНИТЬ(A3;1;ПОИСК("/";A3););ЗАМЕНИТЬ(C3;1;ПОИСК("/";C3);)))^{0;1})-1)&" ";"")&" "&ОСТАТ(ЛЕВБ(A3;ПОИСК("/";A3)-1)*НОК(ЗАМЕНИТЬ(A3;1;ПОИСК("/";A3););ЗАМЕНИТЬ(C3;1;ПОИСК("/";C3);))/ЗАМЕНИТЬ(A3;1;ПОИСК("/";A3);)+(B3&1)*ЛЕВБ(C3;ПОИСК("/";C3)-1)*НОК(ЗАМЕНИТЬ(A3;1;ПОИСК("/";A3););ЗАМЕНИТЬ(C3;1;ПОИСК("/";C3);))/ЗАМЕНИТЬ(C3;1;ПОИСК("/";C3););НОК(ЗАМЕНИТЬ(A3;1;ПОИСК("/";A3););ЗАМЕНИТЬ(C3;1;ПОИСК("/";C3);)))/НОД(ОСТАТ(ЛЕВБ(A3;ПОИСК("/";A3)-1)*НОК(ЗАМЕНИТЬ(A3;1;ПОИСК("/";A3););ЗАМЕНИТЬ(C3;1;ПОИСК("/";C3);))/ЗАМЕНИТЬ(A3;1;ПОИСК("/";A3);)+(B3&1)*ЛЕВБ(C3;ПОИСК("/";C3)-1)*НОК(ЗАМЕНИТЬ(A3;1;ПОИСК("/";A3););ЗАМЕНИТЬ(C3;1;ПОИСК("/";C3);))/ЗАМЕНИТЬ(C3;1;ПОИСК("/";C3););НОК(ЗАМЕНИТЬ(A3;1;ПОИСК("/";A3););ЗАМЕНИТЬ(C3;1;ПОИСК("/";C3);)));НОК(ЗАМЕНИТЬ(A3;1;ПОИСК("/";A3););ЗАМЕНИТЬ(C3;1;ПОИСК("/";C3);)))&"/"&НОК(ЗАМЕНИТЬ(A3;1;ПОИСК("/";A3););ЗАМЕНИТЬ(C3;1;ПОИСК("/";C3);))/НОД(ОСТАТ(ЛЕВБ(A3;ПОИСК("/";A3)-1)*НОК(ЗАМЕНИТЬ(A3;1;ПОИСК("/";A3););ЗАМЕНИТЬ(C3;1;ПОИСК("/";C3);))/ЗАМЕНИТЬ(A3;1;ПОИСК("/";A3);)+(B3&1)*ЛЕВБ(C3;ПОИСК("/";C3)-1)*НОК(ЗАМЕНИТЬ(A3;1;ПОИСК("/";A3););ЗАМЕНИТЬ(C3;1;ПОИСК("/";C3);))/ЗАМЕНИТЬ(C3;1;ПОИСК("/";C3););НОК(ЗАМЕНИТЬ(A3;1;ПОИСК("/";A3););ЗАМЕНИТЬ(C3;1;ПОИСК("/";C3);)));НОК(ЗАМЕНИТЬ(A3;1;ПОИСК("/";A3););ЗАМЕНИТЬ(C3;1;ПОИСК("/";C3);)))


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Пятница, 05.09.2014, 23:38
 
Ответить
Сообщениевот еще маааненькая формулка :)
Код
=ЕСЛИОШИБКА((СУММ(ЦЕЛОЕ((ЛЕВБ(A3;ПОИСК("/";A3)-1)*НОК(ЗАМЕНИТЬ(A3;1;ПОИСК("/";A3););ЗАМЕНИТЬ(C3;1;ПОИСК("/";C3);))/ЗАМЕНИТЬ(A3;1;ПОИСК("/";A3);)+(B3&1)*ЛЕВБ(C3;ПОИСК("/";C3)-1)*НОК(ЗАМЕНИТЬ(A3;1;ПОИСК("/";A3););ЗАМЕНИТЬ(C3;1;ПОИСК("/";C3);))/ЗАМЕНИТЬ(C3;1;ПОИСК("/";C3);))/НОК(ЗАМЕНИТЬ(A3;1;ПОИСК("/";A3););ЗАМЕНИТЬ(C3;1;ПОИСК("/";C3);)))^{0;1})-1)&" ";"")&" "&ОСТАТ(ЛЕВБ(A3;ПОИСК("/";A3)-1)*НОК(ЗАМЕНИТЬ(A3;1;ПОИСК("/";A3););ЗАМЕНИТЬ(C3;1;ПОИСК("/";C3);))/ЗАМЕНИТЬ(A3;1;ПОИСК("/";A3);)+(B3&1)*ЛЕВБ(C3;ПОИСК("/";C3)-1)*НОК(ЗАМЕНИТЬ(A3;1;ПОИСК("/";A3););ЗАМЕНИТЬ(C3;1;ПОИСК("/";C3);))/ЗАМЕНИТЬ(C3;1;ПОИСК("/";C3););НОК(ЗАМЕНИТЬ(A3;1;ПОИСК("/";A3););ЗАМЕНИТЬ(C3;1;ПОИСК("/";C3);)))/НОД(ОСТАТ(ЛЕВБ(A3;ПОИСК("/";A3)-1)*НОК(ЗАМЕНИТЬ(A3;1;ПОИСК("/";A3););ЗАМЕНИТЬ(C3;1;ПОИСК("/";C3);))/ЗАМЕНИТЬ(A3;1;ПОИСК("/";A3);)+(B3&1)*ЛЕВБ(C3;ПОИСК("/";C3)-1)*НОК(ЗАМЕНИТЬ(A3;1;ПОИСК("/";A3););ЗАМЕНИТЬ(C3;1;ПОИСК("/";C3);))/ЗАМЕНИТЬ(C3;1;ПОИСК("/";C3););НОК(ЗАМЕНИТЬ(A3;1;ПОИСК("/";A3););ЗАМЕНИТЬ(C3;1;ПОИСК("/";C3);)));НОК(ЗАМЕНИТЬ(A3;1;ПОИСК("/";A3););ЗАМЕНИТЬ(C3;1;ПОИСК("/";C3);)))&"/"&НОК(ЗАМЕНИТЬ(A3;1;ПОИСК("/";A3););ЗАМЕНИТЬ(C3;1;ПОИСК("/";C3);))/НОД(ОСТАТ(ЛЕВБ(A3;ПОИСК("/";A3)-1)*НОК(ЗАМЕНИТЬ(A3;1;ПОИСК("/";A3););ЗАМЕНИТЬ(C3;1;ПОИСК("/";C3);))/ЗАМЕНИТЬ(A3;1;ПОИСК("/";A3);)+(B3&1)*ЛЕВБ(C3;ПОИСК("/";C3)-1)*НОК(ЗАМЕНИТЬ(A3;1;ПОИСК("/";A3););ЗАМЕНИТЬ(C3;1;ПОИСК("/";C3);))/ЗАМЕНИТЬ(C3;1;ПОИСК("/";C3););НОК(ЗАМЕНИТЬ(A3;1;ПОИСК("/";A3););ЗАМЕНИТЬ(C3;1;ПОИСК("/";C3);)));НОК(ЗАМЕНИТЬ(A3;1;ПОИСК("/";A3););ЗАМЕНИТЬ(C3;1;ПОИСК("/";C3);)))

Автор - krosav4ig
Дата добавления - 05.09.2014 в 23:16
AndreTM Дата: Суббота, 06.09.2014, 01:58 | Сообщение № 13
Группа: Друзья
Ранг: Старожил
Сообщений: 1762
Репутация: 500 ±
Замечаний: 0% ±

2003 & 2010
вот еще маааненькая формулка
Всё же UDF будет скромнее :)


Skype: andre.tm.007
Donate: Qiwi: 9517375010
 
Ответить
Сообщение
вот еще маааненькая формулка
Всё же UDF будет скромнее :)

Автор - AndreTM
Дата добавления - 06.09.2014 в 01:58
Pelena Дата: Суббота, 06.09.2014, 09:09 | Сообщение № 14
Группа: Админы
Ранг: Местный житель
Сообщений: 19185
Репутация: 4420 ±
Замечаний: ±

Excel 365 & Mac Excel
krosav4ig, формула шикарная :) ,
но такой же результат можно получить, если применить к ячейкам с данными и результатом формат Дробный, а формулу немного упростить ;)
Код
=A3+C3

[p.s.]Правда, это не совсем то, что нужно ТС[/p.s.]


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
Сообщениеkrosav4ig, формула шикарная :) ,
но такой же результат можно получить, если применить к ячейкам с данными и результатом формат Дробный, а формулу немного упростить ;)
Код
=A3+C3

[p.s.]Правда, это не совсем то, что нужно ТС[/p.s.]

Автор - Pelena
Дата добавления - 06.09.2014 в 09:09
ikki Дата: Суббота, 06.09.2014, 15:29 | Сообщение № 15
Группа: Друзья
Ранг: Старожил
Сообщений: 1906
Репутация: 504 ±
Замечаний: 0% ±

Excel 2003, 2010
[offtop]
это не совсем то
да и фиг бы с ним!
главное - формула красивая :D [/offtop]


помощь по Excel и VBA
ikki@fxmail.ru, icq 592842413, skype alex.ikki
 
Ответить
Сообщение[offtop]
это не совсем то
да и фиг бы с ним!
главное - формула красивая :D [/offtop]

Автор - ikki
Дата добавления - 06.09.2014 в 15:29
RAN Дата: Суббота, 06.09.2014, 16:05 | Сообщение № 16
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
[offtop]Вы бы лучше помогли. Получилось бы еще красивее. :D [/offtop]


Быть или не быть, вот в чем загвоздка!
 
Ответить
Сообщение[offtop]Вы бы лучше помогли. Получилось бы еще красивее. :D [/offtop]

Автор - RAN
Дата добавления - 06.09.2014 в 16:05
krosav4ig Дата: Суббота, 06.09.2014, 16:39 | Сообщение № 17
Группа: Друзья
Ранг: Старожил
Сообщений: 2347
Репутация: 989 ±
Замечаний: 0% ±

Excel 2007,2010,2013
[offtop]моя маааненькая формулка немного подросла, теперь она 4975 символов :D
[/offtop]


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Суббота, 06.09.2014, 16:46
 
Ответить
Сообщение[offtop]моя маааненькая формулка немного подросла, теперь она 4975 символов :D
[/offtop]

Автор - krosav4ig
Дата добавления - 06.09.2014 в 16:39
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Формула для расчета данных, например 5/6+5/6=10/12 (Формулы/Formulas)
  • Страница 1 из 1
  • 1
Поиск:

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