Jump to content

Ръководства за работа с Excel 2003


Препоръчан пост

Много Ви благодаря за това, което правите, но при мен не се получават нещата защото в колона C цифрата 2 се получава  чрез формула. Ще прикача друг примерен файл.

opit.xls

Link to comment
Сподели другаде

  • Отговори 1.5k
  • Създадена
  • Последен отговор

ТОП потребители в тази тема

ТОП потребители в тази тема

Публикувани изображения

Здравейте Фани,

във вашата таблица "само мен ме няма" ;)

То не са макроси, то не са оцветявания, то не са хиляди критерии и още толкова неоткрити може би от мен неща в таблицата.

Подали сте пример в който липсва част от информацията (IF, IF, IF, IF и т.н, следват conditional formating), второто е че това не е тази таблица, която аз ви прикачих, защото в тази липсват моите макроси, които направих.

Или може би отговаряте на колегата, който ви е дал съвсем друг пример от това, което вие търсехте, но пак би ви свършило работа.

Аз отговарям от мое име, може и колегата да се включи и да подаде рамо.  :thumbsup:

Поздрави :)

Прикачам ви видео, което с или без формули мига:

 

https://youtu.be/R_w6J9OLhb8

Link to comment
Сподели другаде

  • 3 months later...

Здравейте :)

От доста време се опитвам да вляза във форума, но имах проблеми. Ако някой има възможност да помогнете по някои въпроси свързани с таблица в ексел?
Опитвам се да напиша формула, с която в следната примерна таблица (посочена по-долу) да получа автоматично номериране на документите в колона А . Нямам за цел да правя обобщена таблица.

Документите имат уникален код (номер) и са в няколко хиляди редове.

Благодаря предварително!

Пример.xlsx

Link to comment
Сподели другаде

Здравейте Анатоли,

дали бихте могли още малко по-подробно да обясните какво искате да се получи в колона А?

Имаме дори и като пример числа 1,2,3, а под номер на документ различни числа, които пък отговарят на едни и същи числа в колона А, а в същото време са различни артикули (лампи, касети и т.н).

Например имаме документ № 

№ по ред № на фактура/документ от дата Артикул
2 - 7429 - 6.12.2017 - Лампа
2  - 7429 - 6.12.2017 - Подложка
2  - 7426 - 5.12.2017 - Мивка

Имаме 3 различни артикула, 2 различни документа и всичките са под № 2, това всъщност, което ние търсим.

Link to comment
Сподели другаде

Обяснявам Ви за да ме разберете:
Неоходимо ми е за всеки ред да изчислява на базата на на издадени документи по обекти. Ако обаче в даден документ има повече от един артикул, то нека той да е с един номер за съответния документ и в рамките на един обект. Обектите обикновено са 60-70 броя, а артикулите от 1 до 6-7. Пояснявам, че може да са генерирани едни и същи номера от 1 до n , които може да съвпаднат с тези на другите обекти и по този начин няма да са уникални. Затова числото 2, което си цитирал съвпада като номер, тъй като горния ред отговаря за обект 3 и е по друг номер документ. Като цяло таблицата ми не е нужна за създаване на обобщена чрез pivot. Надявам се да съм обяснил разбираемо. Пробвах всякакви комбинации между count, if, countif, index(match) но нещо пропускам, когато се появи нов обект... ще се радвам ако може да помогнете....
Благодаря ти k0st4din

Link to comment
Сподели другаде

Така, да се опитаме да обобщим:

Имаме в примера 3 магазина (обекта)

От всеки магазин пристигат фактури (документи)

Под кокретна фактура и конкретен магазин - каквото и да се е продало трябва да има номер, който да е еднакъв. Следващата фактура от същият магазин трябва да бъде с +1 нагоре (в № по ред).

И това да се случва за всеки един обект(магазин).

Във вашият пример обаче за обект 1 - под номер на фактура 7425 веднъж имаме № по ред = 1 и след това = 3.

Грешка ли е или така трябва да бъде?

Другото, което не ми е ясно: тези № на фактура, някак си ми се струва, че вървят като поредни в нарастващ вид. Не, че е невъзможно, но не би ли трябвало всеки обект да си има негова номерация, която да е поредна следваща за следващата продажба. Например: първата фактура дошла от обект 1 е с номер 7425, не би ли следвало втората идваща (независимо какво се е продало) да бъде 7426?

Нека изясним всички въпроси, защото има доста въпросителни и да го мислим след това как би се получило.

Поздрави

Link to comment
Сподели другаде

Документите се въвеждат чрез копиране и са в нарастващ номер. Номерата на документите са идентични /уникални/ и принципно не се повтарят и обикновено са различни, а не близки както в този случай..

Относно коментара "Във вашият пример обаче за обект 1 - под номер на фактура 7425 веднъж имаме № по ред = 1 и след това = 3." то тук съм допуснал техническа грешка. Принципа е следния: номера на фактурата или документа обикновено е различен и нарастващ за всеки обект отделно. Еднакви записи на номера на документи обикновено се случват в съседни редове където имаме повече от един артикул. Тогава когато имаме няколко артикула в един документ бих искал генерирания номер да е един и същ (повтарящ се)....

Дано да помогнете. От друго място ми пращат тези линкове но нищо не можах да направя...

 

https://www.mrexcel.com/forum/excel-questions/938457-ranking-data-based-multiple-criteria.html

https://answers.microsoft.com/en-us/msoffice/forum/msoffice_excel-mso_winother-mso_2010/assign-serial-to-data-with-multiple-criteria/f25c4a9f-1a2c-4b9f-b5eb-9b5bff07cee4

Link to comment
Сподели другаде

Може да се направи автоматично номериране на всеки ред

поотделно, след това с формула да се открият повтарящите

се номера и да се преномерира автоматично целият списък,

с макрос за цикличност.

Link to comment
Сподели другаде

naskobk, проблема при него, е че нямаме втори критерии, магазините можем да ги наредим, но фактурите не са дори някаква константа, те всеки път са различни, т.е кой е вторият ни критерии!?

А се казва, че има над 60 магазина и не се знае колко фактури ще дойдат и за всеки един магазин ще трябва да започва от 1 до n на брой.

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

Link to comment
Сподели другаде

Има макрос който може да оцвети

автоматично повтарящите се клетки,

има и друг макрос които може да

извършва различни матемаически функции по цвят на клетката 

по скоро трябва да запише с каква цел му трябва

информацията, аз съм направил програма за фактури на ексел,

която автоматично записва в базата данни на ексел всяка фактура

която си създал,

даже може да се направи и база данни от услуги за всяка фирма която

е въведена в базата на ексел за автоматично фактуриране,

след което да се извика автоматично списък от услуги в

зависимост от фирмата която си избрал като доставчик за фактуриране

и винаги може да си извикаш стара фактура и да видиш

какво представлява.

Да каже малко по подробно каква е целта на цялата тази

операция, винаги може да се измисли нещо.

Link to comment
Сподели другаде

Освен с някакъв макрос? Искам да ми се номерират последователно документите за фа може:

1. При филтриране да виждам колко на брой са, което може да ми послужи и за обобщена таблица;

2. Да ми се изчисли стойността на издадените документи.

Някои ако може да ми прати линк за създаване на макроси на разбираем език, като за начинаещ? Виждал съм и бутони, но не знам как се създават и свързват?

Link to comment
Сподели другаде

Не виждам как това може да стане с формули.
Ето един макрос, набързо скалъпен, но това, което е дадено за пример го решава
Но ако не си запознат с макросите, не знам за какво се захващаш. Това поне е малко по-сложничко.
Направил съм да номерира данните не върху таблицата а в колона G

Колона F ползвам за списък на всички неповтарящи се обекти от колона Е

Option Explicit
 
Type MyData
 NumObject As Integer
 NumPoRed As Long
 NumDocu As Long
End Type
Sub CreatePorNumbers()
 Dim MyObjects() As MyData
 Dim I As Long
 Dim MaxRow As Long
 Dim Rng As Range
 Dim MyRange As Range
 MaxRow = Range("A" & Rows.Count).End(xlUp).Row
 Set MyRange = Range("A2:A" & MaxRow)
 Range("E2:E" & MaxRow).Copy Destination:=Range("F2")
 If MaxRow > 3 Then 'Отстраняване на повтарящи се номера
   ActiveSheet.Range("$F$2:$F$" & MaxRow).RemoveDuplicates Columns:=Array(1), Header:=xlNo
 End If
 MaxRow = Range("F" & Rows.Count).End(xlUp).Row
 ReDim MyObjects(1 To MaxRow - 1)
 For I = 2 To MaxRow
  MyObjects(I - 1).NumObject = Range("F" & I).Value
 Next
 For Each Rng In MyRange
  For I = LBound(MyObjects) To UBound(MyObjects)
   If Rng.Offset(, 4).Value = MyObjects(I).NumObject Then
    If MyObjects(I).NumDocu <> Rng.Offset(, 1).Value Then
     MyObjects(I).NumPoRed = MyObjects(I).NumPoRed + 1
     Rng.Offset(, 6).Value = MyObjects(I).NumPoRed
     MyObjects(I).NumDocu = Rng.Offset(, 1).Value
    Else
     Rng.Offset(, 6).Value = MyObjects(I).NumPoRed
    End If
   End If
  Next
 Next
End Sub
Link to comment
Сподели другаде

Здравей Анатоли,

1. Отваряш си работната книга с таблицата

2. Натискаш Alt+F11 - ще ти се отвори нов прозорец

3. В този нов прозорец кликваш с десен бутон на Sheet1(Лист1), от показалото се под меню достигаш до Insert, след което ще ти се покаже още едно меню, от него избираш - Module

post-18983-0-91413900-1513316248_thumb.jpg

4. Ще ти се покаже нов ред с това Module1, кликваш два пъти, за да ти се отвори на екрана прозореца.

post-18983-0-41756000-1513316282_thumb.jpg

5. В него поставяш този макрос:

Sub Obekti()
    Columns("A:E").Select
    ActiveWorkbook.Worksheets("Лист1").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Лист1").Sort.SortFields.Add Key:=Range("E2:E200000"), _
        SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    ActiveWorkbook.Worksheets("Лист1").Sort.SortFields.Add Key:=Range("B2:B200000"), _
        SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    ActiveWorkbook.Worksheets("Лист1").Sort.SortFields.Add Key:=Range("A2:A200000"), _
        SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("Лист1").Sort
        .SetRange Range("A1:E200000")
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
    Range("A1").Select
    Selection.AutoFilter
End Sub 

6. Затваряш целият прозорец и запазваш екселският файл.

Важно: Тъй като виждам, че файла ти завършва на *xlsx, трябва да го запазиш като *xlsm

7. Следва изнасянето на бутон, който да натискаш. Вече си в "Лист1" и самата таблица

8. Отиваш в меню Developer -> Insert -> (следвай картинките)

post-18983-0-52843200-1513316375_thumb.jpg

 

post-18983-0-90769700-1513316430_thumb.jpg

 

post-18983-0-24905300-1513316449_thumb.jpg

Link to comment
Сподели другаде

Благодаря за точното представяне k0st4din !

Надявам се да мога да се справя, ако не ще питам. Имам желанието да науча нещо ново но да мога да правя и аз нещо. :)

Link to comment
Сподели другаде

Гост
Отговори на тази тема

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   Не можете да качите директно снимка. Качете или добавете изображението от линк (URL)

Loading...

×
×
  • Създай ново...