Юрий_Нд
Дата: Пятница, 01.12.2017, 11:17 |
Сообщение № 1
Группа: Проверенные
Ранг: Обитатель
Сообщений: 441
Репутация:
19
±
Замечаний:
0% ±
Excel 2013
Доброго дня всем. Можно ли с помощью формул в Excel, без привлечения ВБА решить следующую задачу. В строке: "мн5р-7,мн4р-1,мн3р-2,мн2р-1,мш6р-1" Зашифрованы названия профессий и количество человек данной профессии. В строке нет пробелов, на название профессии отводится только 4 символа, далее тире и количество человек. Например: "мн5р-7" - машинист 5 разряда, 7 человек. В данном примере общее количество рабочих: 7 + 1 + 2 + 1 + 1 = 12 рабочих. С благодарностью ______________ Юрий.
Доброго дня всем. Можно ли с помощью формул в Excel, без привлечения ВБА решить следующую задачу. В строке: "мн5р-7,мн4р-1,мн3р-2,мн2р-1,мш6р-1" Зашифрованы названия профессий и количество человек данной профессии. В строке нет пробелов, на название профессии отводится только 4 символа, далее тире и количество человек. Например: "мн5р-7" - машинист 5 разряда, 7 человек. В данном примере общее количество рабочих: 7 + 1 + 2 + 1 + 1 = 12 рабочих. С благодарностью ______________ Юрий. Юрий_Нд
К сообщению приложен файл:
-1.xlsx
(8.1 Kb)
Сообщение отредактировал Юрий_Нд - Пятница, 01.12.2017, 11:18
Ответить
Сообщение Доброго дня всем. Можно ли с помощью формул в Excel, без привлечения ВБА решить следующую задачу. В строке: "мн5р-7,мн4р-1,мн3р-2,мн2р-1,мш6р-1" Зашифрованы названия профессий и количество человек данной профессии. В строке нет пробелов, на название профессии отводится только 4 символа, далее тире и количество человек. Например: "мн5р-7" - машинист 5 разряда, 7 человек. В данном примере общее количество рабочих: 7 + 1 + 2 + 1 + 1 = 12 рабочих. С благодарностью ______________ Юрий. Автор - Юрий_Нд Дата добавления - 01.12.2017 в 11:17
buchlotnik
Дата: Пятница, 01.12.2017, 12:01 |
Сообщение № 2
Группа: Заблокированные
Ранг: Участник клуба
Сообщений: 3442
Репутация:
929
±
Замечаний:
20% ±
2010, 2013, 2016 RUS / ENG
Как-то так видимо:Код
=СУММ(ЕСЛИОШИБКА(--ПРАВБ(СЖПРОБЕЛЫ(ПСТР(ПОДСТАВИТЬ(C4;",";ПОВТОР(" ";99));1+99*(СТРОКА(A1:A10)-1);99));1);0))
Как-то так видимо:Код
=СУММ(ЕСЛИОШИБКА(--ПРАВБ(СЖПРОБЕЛЫ(ПСТР(ПОДСТАВИТЬ(C4;",";ПОВТОР(" ";99));1+99*(СТРОКА(A1:A10)-1);99));1);0))
buchlotnik
Ответить
Сообщение Как-то так видимо:Код
=СУММ(ЕСЛИОШИБКА(--ПРАВБ(СЖПРОБЕЛЫ(ПСТР(ПОДСТАВИТЬ(C4;",";ПОВТОР(" ";99));1+99*(СТРОКА(A1:A10)-1);99));1);0))
Автор - buchlotnik Дата добавления - 01.12.2017 в 12:01
_Boroda_
Дата: Пятница, 01.12.2017, 12:02 |
Сообщение № 3
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16675
Репутация:
6481
±
Замечаний:
0% ±
2003; 2007; 2010; 2013 RUS
Так нужно? Людей может быть не обязательно до 10 человек? Может быть и больше? Формула массива. Вводится одновременным нажатием Ctrl+Shift+EnterКод
=СУММ(ЕСЛИОШИБКА(--ПСТР(C4;ПОИСК("-";C4;СТРОКА($1:$99))+1;ПОИСК(",";C4&",";СТРОКА($1:$99))-ПОИСК("-";C4;СТРОКА($1:$99))-1);))/ПОИСК("-";C4)
Если длина строки >99 символов, то 99 замените на 256 Для произвольного (но одинакового) количества букв
Так нужно? Людей может быть не обязательно до 10 человек? Может быть и больше? Формула массива. Вводится одновременным нажатием Ctrl+Shift+EnterКод
=СУММ(ЕСЛИОШИБКА(--ПСТР(C4;ПОИСК("-";C4;СТРОКА($1:$99))+1;ПОИСК(",";C4&",";СТРОКА($1:$99))-ПОИСК("-";C4;СТРОКА($1:$99))-1);))/ПОИСК("-";C4)
Если длина строки >99 символов, то 99 замените на 256 Для произвольного (но одинакового) количества букв _Boroda_
Скажи мне, кудесник, любимец ба’гов... Платная помощь: Boroda_Excel@mail.ru Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
Ответить
Сообщение Так нужно? Людей может быть не обязательно до 10 человек? Может быть и больше? Формула массива. Вводится одновременным нажатием Ctrl+Shift+EnterКод
=СУММ(ЕСЛИОШИБКА(--ПСТР(C4;ПОИСК("-";C4;СТРОКА($1:$99))+1;ПОИСК(",";C4&",";СТРОКА($1:$99))-ПОИСК("-";C4;СТРОКА($1:$99))-1);))/ПОИСК("-";C4)
Если длина строки >99 символов, то 99 замените на 256 Для произвольного (но одинакового) количества букв Автор - _Boroda_ Дата добавления - 01.12.2017 в 12:02
sboy
Дата: Пятница, 01.12.2017, 12:02 |
Сообщение № 4
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2566
Репутация:
724
±
Замечаний:
0% ±
Excel 2010
Добрый день. еще вариант, массивнаяКод
=СУММ(ЕСЛИОШИБКА(ПСТР(C4;СТРОКА($A$2:$A$100);1)*(ПСТР(C4;СТРОКА($A$1:$A$99);1)="-");))
Добрый день. еще вариант, массивнаяКод
=СУММ(ЕСЛИОШИБКА(ПСТР(C4;СТРОКА($A$2:$A$100);1)*(ПСТР(C4;СТРОКА($A$1:$A$99);1)="-");))
sboy
Яндекс: 410016850021169
Ответить
Сообщение Добрый день. еще вариант, массивнаяКод
=СУММ(ЕСЛИОШИБКА(ПСТР(C4;СТРОКА($A$2:$A$100);1)*(ПСТР(C4;СТРОКА($A$1:$A$99);1)="-");))
Автор - sboy Дата добавления - 01.12.2017 в 12:02
sboy
Дата: Пятница, 01.12.2017, 12:11 |
Сообщение № 5
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2566
Репутация:
724
±
Замечаний:
0% ±
Excel 2010
еще вариант для не более 10 профессий (если больше продолжить ряд в массиве констант) массивнаяКод
=СУММ(ЕСЛИОШИБКА(--ПСТР(C4;{6;13;20;27;34;41;48;55;62;69};1);))
еще вариант для не более 10 профессий (если больше продолжить ряд в массиве констант) массивнаяКод
=СУММ(ЕСЛИОШИБКА(--ПСТР(C4;{6;13;20;27;34;41;48;55;62;69};1);))
sboy
Яндекс: 410016850021169
Ответить
Сообщение еще вариант для не более 10 профессий (если больше продолжить ряд в массиве констант) массивнаяКод
=СУММ(ЕСЛИОШИБКА(--ПСТР(C4;{6;13;20;27;34;41;48;55;62;69};1);))
Автор - sboy Дата добавления - 01.12.2017 в 12:11
vikttur
Дата: Пятница, 01.12.2017, 12:17 |
Сообщение № 6
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2941
Немассивная, если числа <10Код
=СУММ((ДЛСТР(C4)-ДЛСТР(ПОДСТАВИТЬ(C4;-{1;2;3;4;5;6;7;8;9};)))*{1;2;3;4;5;6;7;8;9})/2
Для чисел от 0 до 99 массивная:Код
=СУММ(ЕСЛИ(ПСТР(C4;СТРОКА(1:99);1)="-";-ПСТР(C4;СТРОКА(1:99);3)))
Немассивная, если числа <10Код
=СУММ((ДЛСТР(C4)-ДЛСТР(ПОДСТАВИТЬ(C4;-{1;2;3;4;5;6;7;8;9};)))*{1;2;3;4;5;6;7;8;9})/2
Для чисел от 0 до 99 массивная:Код
=СУММ(ЕСЛИ(ПСТР(C4;СТРОКА(1:99);1)="-";-ПСТР(C4;СТРОКА(1:99);3)))
vikttur
Сообщение отредактировал vikttur - Пятница, 01.12.2017, 12:56
Ответить
Сообщение Немассивная, если числа <10Код
=СУММ((ДЛСТР(C4)-ДЛСТР(ПОДСТАВИТЬ(C4;-{1;2;3;4;5;6;7;8;9};)))*{1;2;3;4;5;6;7;8;9})/2
Для чисел от 0 до 99 массивная:Код
=СУММ(ЕСЛИ(ПСТР(C4;СТРОКА(1:99);1)="-";-ПСТР(C4;СТРОКА(1:99);3)))
Автор - vikttur Дата добавления - 01.12.2017 в 12:17