въпрос свързан с Excel


2

Здравейте! Имам следния въпрос свързан с Excel.

Пример:

   А                   B                    C                      D

102526     112528       =B1-D1  (O)      112528

102527     112559       =B2-D2  (O)      112559

102528     112564       =B3-D3 (-7)      112571

102529     112571       

 

Искам да:

Сравнявам числата в колони B и D, като за целта в колона C ги изваждам едно с друго и чрез двойно кликане изпълнявам действието до края на числовите масиви. Съответно на места имам разменаванена числата в двете колону, както съм дал на примера. Именно затива се налага да вмъквам редове и да изравнявам двете колони, после отново да изпълнявам проверката с изваждане до края.

Искам да попитам има ли по лесен начин за това сравянване, тъй като масивите са прекалено обемисти и по този начин сравянването става доста бавно,

Предварително Ви благодаря,


в Други от bakoli (0 точки)


Отговори



1
Първо, не съм убеден, че въпросът ти е в подходящата категория.
Освен това не се разбира, дали търсиш по-лесен начин въобще или в Excel и какво точно искаш да направиш.

от mitko_mihov (225 точки)


0
Целта ми е да сравня стойностите в колони C и D, съответно където има пропуск в колона D, да се добави ред с цел да се изравнят колоните и проверката да продължи напред - до края.

от bakoli (0 точки)


3
Не съм сигурен, че разбирам какъв ти е проблема, но ако имаш колона В в която имаш примерно хиляда реда и колона D в която имаш 900 реда, т.е. имаш 100 реда "дупки" може да направиш следната формула:
=IF(ISBLANK(D1);"";B1-D1)
и да я копираш във всички 1000 реда в колона С, примерно. Това ще проверява дали в D е празна. Ако в D няма нищо в С също няма да се появи нищо; ако в D има нещо в С ще сметне разликата B-D.
Ако случайно в D може да има и други стойности, не само числа може да ползваш:
=IF(ISNUMBER(D1);B1-D1;"")
Ако е в друго проблема опиши го по-подробно и се надявам, че ще успеем да ти помогнем

от wnvko (3123 точки)


0
Действително в колона B има всички стойности, докато в колона D има липси. Проблема е, че няма дупки, именно затова се налага да се вмъква ред, където има разминавания за да се напаснат. Други идеи? :-)

от bakoli (0 точки)

0
Ако стойностите в колона D са уникални, т.е. няма повтарящи се редове в колона С може да напишеш това:
=IF(LOOKUP(B1,$D:$D)=B1,B1,"")
и да го копираш във всички редове на С срещу които В има стойност. Тази формула проверява дали стойността в В1 се среща в цялата колона D. Ако я има я записва в колона С, ако я няма записва нищо.
Само като допълнение - ако в крайна сметка ти трябват стойностите подредени, а не просто формули копираш цялата колона С и я пействаш някъде с десен бутон -> Values
Честно казано ако стойностите в D не са уникални пак ще си работи, но не съм сигурен каква ти е крайната цел и не знам до колко ще е коректен резултата.

от wnvko (3123 точки)



1
ако си пуснеш един филтър и ги филтрираш по blank и си запълниш липсващите с нещо, след това махнеш филтъра и с двоен клик няма ли да стане?

от bgotov (1559 точки)


0
Нямам липсващи клетки, а реда който е на снимката го вмъквам аз, за да се напаснат колоните C и Д, т.е. проверката (=C-D) ми показва къде има разминаване. А съответно след вмъкването на реда и рефреш на формулата ми изписва E, F, G липсвщите в колони H, I, J числа. Въпроса ми е как да автоматизирам процеса и да не се налага при всяко разминаване да вмъквам колони и да напасвам.

от bakoli (0 точки)


1
Още един вариант се седих да подредиш цялата таблица по намаляваш ред по D след което празните ще ти идат най-отдолу. Ако е необходимо да запазиш първоначалната подредба можеш предварително да си направиш един индекс от 1 до N

от bgotov (1559 точки)


0
С риск тотално да не съм разбрал въпроса - че когато цъкаш с двойно кликане и формулата ти ''стигне до някъде" се налага ръчно да пишеш пак формулата за клетките останали по-надолу - можеш да пробваш алтернативния "по-правилен" вариент - вместо да кликаш по 2 пъти (което прилага формулата до последната клетка със стойност от D), пробвай да 'драгнеш' формулата - цъкаш в долния десен ръб на най-първата клетка с формула и с drag & drop на мишката влачиш до последната необходима клетка по цялото продължение на С колона - по този начин се сравняват всички клетки от ляво и от дясно, без да се накъсва формулата.
Колегите иначе са дали хубави решения за други тълкувания на проблема :)

от stoberov (3451 точки)


1

Сега разбрах какво имаш предвид. Функцията която ти тряба е Vlookup тя правя нещо като left join в sql, малко е сложна за обяснение. Ето тук има някакъв приличен пример http://www.timeatlas.com/5_minute_tips/general/learning_vlookup_in_excel#.U04guVfm74U


от bgotov (1559 точки)


0
Точно това е функцията. Има две важни особености обаче: - добре е елементите в които се търси да са подредени по азбучен ред - абсолютно задължително е да няма повтарящи се елементи - в противен случай VLOOKUP открива първия и никога не стига до втория!

от wnvko (3123 точки)