Да се научим да работим с Excel - тема 3

  • 82 084
  • 743
# 315


Искам когато стойност попадне в даден интервал да ми извежда процента който отговаря на този интервал. т.е ако на входа има 5000, резултата да е 0%.
Виж целия пост
# 316
Вложен IF от голямото към малкото...някъде по-назад в темата имаше подобен пример.
п.с. много ви е малък процента за оборот.
Виж целия пост
# 317
Вложен IF от голямото към малкото...някъде по-назад в темата имаше подобен пример.
п.с. много ви е малък процента за оборот.

Това са примерни данни. И с LOOKUP масив се получи.
Виж целия пост
# 318
Имате ли идея как да разделя огромен списък с клиенти на 2, така че във всяка част/ списък, клиентите да са разделени така, че сумата на поръчките на клиентите от всеки регион да са еднакви или поне близки.
Ето и примерен файл с изходни данни и очакван краен резултат за да онагледя казуса. Списъка ми е с хиляди редове и ще съм благодарна, ако помогнете да намеря решение. Simple Smile
Виж целия пост
# 319
Има ли значение колко човека влизат в списък 1 и 2 или само броя на стоките трябва да е по 1/2 от общия?

Ако няма значение - първо подреждаш по регион и сумираш за общия брой на всеки, например

зона А 500
зона Б 660
зона В 1200
зона Г 340

После по клиенти, както са наредени, например

кол.А      Кол В    Кол. С

Име          Брой
Клиент 1 - 15
Клиент 2 - 6
Клиент 3 - 45
Клиент 4 - 10
.
.
.

В колона С даваш да ти сумира сбора на първите двама, после отдолу на двамата + третия, после на тримата + четвъртия, т.е.

кол.А      Кол В    Кол. С

Име          Брой
Клиент 1 - 15   15
Клиент 2 - 6     21
Клиент 3 - 45   66
Клиент 4 - 10    76
.
.
.


В момента, в който стигнеш 1/2 от общото количество, ги инициираш със списък 1, другите са списък 2

Даже може с формула IF - Ако е по-малко от 1/2 общото, да ти пише 1, иначе 2

Или пък с Conditional formating пак става
Виж целия пост
# 320
Имате ли идея как да разделя огромен списък с клиенти на 2, така че във всяка част/ списък, клиентите да са разделени така, че сумата на поръчките на клиентите от всеки регион да са еднакви или поне близки.
Не ти е дефинирана точно задачата - нямаш списък на вход.
А ако искаш да постигнеш ефекта на втората таблица ( в която между другото не виждам никакъв смисъл да мешиш регион и списък ), най-лесно е да сортираш първата таблица първо по регион и след това по поръчки. Но ако е това което си мисля, няма да стане само с Excel
Виж целия пост
# 321
Благодаря ви!

@Natali_ няма значение колко човека влизат в списък 1 и 2. Важно е сумата на поръчките да е или 1/2/ или поне приблизително толкова. Ръчно е ясно как става, но списъка е много дълъг, и не е работа да се губи време в ръчно. Твоя пример ми дава идея. Ще пробвам с If, както предлагаш.

@Nazgul,  списъка на вход е "изходна=начална таблица". Целта е да постигна "крайната таблица".
Съгласна съм, че в така дадения пример няма смисъл, но е излишно да тормозя всички ви с реалния казус, който е по-сложен (фирми, валути, региони, тримесечия, ...) и се опитах да го опростя максимално и някъде се загуби смисъла. Така или иначе това е задачата.
Сортирайки по регион и след това по поръчки, помага, но не постига целта.
Виж целия пост
# 322
shrekie Според решението на Natali в единия списък ще получиш много на брой, но с малки стойности на поръчките клиенти. В другия ще имаш обратното - малко на брой, но с големи стойности. Ако това не е проблем за задачата - може да се приложи.

Аз бих предложила да ги разпределиш по ранк на стойността - първия в първи списък, втория - във втори, третия - в първи, четвърти - във втори и т.н.
(1) Формулата в D3 би изглеждала така: =IF(MOD(RANK.AVG(C3,$C$3:$C$24),2)=1,1,2)
Но няма да се получи толкова точно разпределение, както ако се наглася на око. Например с горната формула се получава 654 на 771. Проблем с Rank има, ако имаш много клиенти с еднакви стойности на поръчките. Тогава Rank.avg дава средния ранк за групата, и всички клиенти ще отидат в единия списък.

(2) Подобно решение е да се сортират по стойност и да се разпределят - четните в единия списък, нечетните - в друг. Примерна формула в D3: =IF(MOD(ROW(B3),2)=1,1,2) С тази формула се получават още по-големи отклонения (638 на 787), но това не е проблем на формулата, а на конкретните стойности.

За да се постигне по-равно разпределение може да се постъпи така: След прилагане на формулата (1) или (2) вадим разликата между двата списъка и я делим на две (771-654)/2=58,5 След това търсим клиент с най-близка до тази стойност и го местим от единия списък в другия. В примера има двама със сума 56. Избираме единия и се получава 710 на 715. Така ще имаме само едно "нагласяване".
Виж целия пост
# 323
Шреки, сортирай ги по регион, после пусни Subtotals - при промяна на региона да ти сумира под поръчки. Така ще имаш общото в някаква клетка. След това обработи за съответния регион, подобно на това:



Като формули:



Ясмина, клиентите не се подреждат по големина, затова няма да има значение какъв е броя за поръчката на клиента, тъй като сумарно се гледат.
Виж целия пост
# 324
О, не съм догледала, че не първата таблица трябва да се разпределя по списък, а втората. Тогава най-подходяща е формулата с четен/нечетен - (2) от моя пост.

Natali, а ако още първият клиент има сума на поръчките по-голяма от общата/2? Такъв е примерът в изходната таблица. При твоя начин разпределението зависи не само от стойностите, но и от начина, по който следват един след друг в региона. Представи си, че в твоя пример първи в регион "в" е клиент 8 (504), а втори - клиент 9 (487). По твоята формула в списък 1 ще имаш само клиента с 504, а всички останали ще отидат в списък 2. След като сумираш по списъци ще получиш списък 1 - 504, списък 1310. Но следвайки моя съвет (1310-504)/2 = 403 щe издириш втория клиент, или няколко, чиято сума е около 403 и ще ги прехвърлиш от 2 в първи. Все пак обаче е по-вероятно да получим по-неравномерен брой клиенти в двата списъка.

Вярно е, че shrekie има голяма таблица с много записи, и има вероятност за по-нормално разпределение, но все пак трябва да се предвидят и изключения.

Вариантът със Subtotals при много региони ще е супер трудоемък. По-добре да се направи отделна Pivot таблица и да се взимат от нея стойностите с GETPIVOTDATA.
Виж целия пост
# 325
Разбира се има варианти, както е най-удачно нека се ползва.

Иначе да, ако първият е много голяма стойност, значително превишаваща броя на другите, може да отиде в 1ва група, а всички останали във втора.
Виж целия пост
# 326
Flowers HibiscusFlowers HibiscusFlowers Hibiscus МНОГО БЛАГОДАРЯ!
Получи се с предложението на Natali, както и с Get Pivot подобрение на Ясмина, защото регионите наистина са много.

С ранка май не е подходящо, защото има много клиенти с еднакви по стойност поръчки.

Разбира се има варианти, както е най-удачно нека се ползва.

Иначе да, ако първият е много голяма стойност, значително превишаваща броя на другите, може да отиде в 1ва група, а всички останали във втора.
  Това не би било проблем. Simple Smile
Виж целия пост
# 327
Здравейте. Таблица от ексел трябва да запазя като .csv файл. В едната колона, обаче стойтостите са 000111 - шестцефрени кодове, задължително с нули отпред - така и съм ги форматирала клетките. Когато запазя в .csv - нулите изчезват. Как да ги запазя? newsm78
Виж целия пост
# 328
Здравейте. Таблица от ексел трябва да запазя като .csv файл. В едната колона, обаче стойтостите са 000111 - шестцефрени кодове, задължително с нули отпред - така и съм ги форматирала клетките. Когато запазя в .csv - нулите изчезват. Как да ги запазя? newsm78


Не знам с коя версия си, обаче направи "стойността" на клетките да е "текст".
Виж целия пост
# 329
Апостроф преди цифрата 0. Излиза когато си на латиница и натиснеш еднократно клавиша Ч от БДС. И тогава сейфаш.
Виж целия пост

Започнете да пишете...

Страница 1 от 1

Общи условия