Страницы: 1 2 3 След.
RSS
Простая и не очень форма учета товаров
 
Здравствуйте, уважаемые форумчане, с Новым годом всех!  
Решила с этого года немного автоматизировать учет товара в экселе, второй день бьюсь и ничего не получается, видимо не программист я. Перелопатила весь форум, но так ничего и не вышло(.  
Суть задачи такая:  
 
1 вариант (типа простой):  
Есть книга с 3мя листами Продажи, Поступления, База(?)  
Лист поступления: полностью заполняется руками;  
Лист продажи: при добавлении продажи вписываем артикул, а закупочная цена и название вставляются атоматом  
Лист база: видимо нужен чтобы брать из него закупочную цену и количество (почти во всех примерах на форуме он есть)  
 
2 вариант (сложный)  
Идеальный вариант, так-как я на УСН по схеме доходы-расходы, а закупочная цена периодически меняется.  
Придумала такой алгоритм:  
1)Заполняем лист поступления (примерно раз в неделю)  
2)Когда продаем, то вписываем в лист "продажи" артикул, а эксель автоматически начинет просмотр с начала таблицы, то есть ищет товар с таким же артикулом в листе поступления (видимо ВПР) и если количество не 0, то подставляет название, номер счета и закупочную цену, а если 0, то ищет дальше пока не найдет этот товар в счете с ненулевым количеством.  
3)Когда найден товар с ненулевым количеством, тогда количество этого товара из этого поступления отнимается.  
В этом случае не нужен лист "база"  
 
Подскажите пожалуйста как такое сделать. Заранее спасибо:)
 
если я вас правильно понял и если у вас офис 2007 и выше, то так
 
Димон, огромное спасибо, я бы это неделю делала, но работает только если дата продажи равна дате поступления, а если я например продаю яблоки 3.01.2012 ошибка(т.е продажи могут быть каждый день). Как поправить?
 
просто добавьте столбец для дат_продаж  
а примере Димона листе "Продажи" дата = дата поступлении
Excel 2007
 
ABC, точно, спасибо, сама не догадалась, а можно тогда, чтобы дата поступления в листе продажи сама ставилась как наименование и цена. Спасибо.
 
чуть переделал пример Димона формулой Владимира  
-----------------------------------------------  
а на счет авто даты Вам по адресу    
1)http://www.planetaexcel.ru/tip.php?aid=28  
2)http://www.planetaexcel.ru/tip.php?aid=53
Excel 2007
 
"а можно тогда, чтобы дата поступления в листе продажи сама ставилась как наименование и цена."  
 
а как тогда знать, какие яблоки вы продали 3 числа: те которые поставлены 1 числа по цене 12р или те, которые 2 числа по цене 13р? :)
 
ABC, нет на счет даты Вы меня не так поняли, нужно чтобы столбик "дата" в листе "продажи" заполнялся автоматически в зависимости от артикула (как заполняются столбики название, номер счета и цена).
 
вариант:
Excel 2007
 
Димон, вот в том то и суть этой таблички, что сначала продаем яблоки которые поставлены раньше (1 числа), а затем когда яблок 1го числа станет 0, продаем яблоки 2го числа и.т.д.  
На самом деле у меня не яблоки, поэтому в принципе количество при продаже можно всегда ставить 1 шт., чтобы за одну продажу не случилось, что 2 яблока из поставки 1го числа, а 2 например из поставки 2го числа.
 
и если уж через ВПР, то лучше указывать весь столбец, а не конкретный диапазон, так как строки то будут добавляться.
 
{quote}{login=s3s}{date=03.01.2012 11:00}{thema=}{post}ABC, нет на счет даты Вы меня не так поняли, нужно чтобы столбик "дата" в листе "продажи" заполнялся автоматически в зависимости от артикула (как заполняются столбики название, номер счета и цена).{/post}{/quote}  
 
если я так понял: что столбик дата в листе продажи = столбик дата в листе поступления, тогда здесь не как (может ошибаюсь) потому-что формулы ищут сверху вниз перв. совп. и все останавливается ... у Вас арт. = 21 2 даты, остановка на 01.01.2012 не как не получится 02.01.2012 листе продажи, а с VBA возможно, но я на VBA не селен
Excel 2007
 
ABC, а формулы не могут искать сверху вниз совпадение "Яблоки" и "количество больше 0"? То есть привязаться не к дате поступления, а к остатку товара.
 
"Яблоки" и "количество больше 0"    
такого нет (может есть) се равно Вам придется копировать и вставить как значение формулу(дата пост. в листе Продажи) значение ячейки меняются если есть формула, лучше воспользуйтесь ответ(03.01.2012, 23:00), или макросом лучше!!!
Excel 2007
 
формулами так не получиться по той причине, что остаток тоже привязан к дате поставки и получится циклическая ссылка - чтобы найти остаток нужно знать дату, чтобы автоматом проставить дату - нужно знать остаток.  
 
можно разве что макросом.
 
Вариант но только макрос надо доработать  
чтобы остаток на минусовый не стал но я что смог
Excel 2007
 
Не совсем поняла зачем нужна привязка к дате, нельзя просто выбрать артикул с ненулевым количеством? Посмотрите пожалуйста табличку я там попроще сделала на листе "тест" чтобы понять суть.
 
сумму можно =СУММПРОИЗВ((B3:B14=F2)*(C3:C14>0);C3:C14)  
я думаю если форм. хотите тогда условию создать надо столько сколько значении артикул кол-во = 0, но это не пойдет  
если у Вас артикул 21 а остаток 0 = до пустим 10, тогда 10 условии  
--------------------------------  
в листе Продажи макрос  
 
Option Explicit  
Dim x$  
Dim y As Integer  
Private Sub Worksheet_Change(ByVal Target As Range)  
x = Cells(Rows.Count, 3).End(xlUp).Row  
y = Sheets("Поступления").Cells(Rows.Count, 3).End(xlUp).Row  
If Target.Cells.Count > 1 Then Exit Sub  
       If Not Intersect(Target, Range("c3:c" & x)) Is Nothing Then  
           'With Target(1, 7)  
           For y = 3 To y  
               If Cells(x, 3).Value = Sheets("Поступления").Cells(y, 3).Value And Sheets("Поступления").Cells(y, 6).Value <> 0 Then  
            Cells(x, 9).Value = Sheets("Поступления").Cells(y, 1).Value  
               '.Value = Date  
               '.EntireColumn.AutoFit  
               End If  
           Next  
           'End With  
       End If  
End Sub
Excel 2007
 
ABC, честно говоря не поняла, что получится(, мне кажется нужно как-то к ВПР прикрутить условие (проверить на 0) и все должно нормально работать, только вот как?
 
Не прикрутите вы ничего формулой. Объясняю второй раз: формула остатка ищет количество продаж ориентируясь на название и дату поставки. Нельзя теперь формулой извлечь дату поставки ориентируясь на остаток. Цикл получится потому что.
 
с доп. столб. лист тест
Excel 2007
 
=СУММПРОИЗВ((B3:B14=F2)*(C3:C14);C3:C14)=34  
Что Вы считаете этой формулой?  
 
=ЕСЛИ(C3=0;0;1) можно:  
=ЕСЛИ(C3;1;) или =--(C3<>0)
 
ABC, не работает, ставлю в С7 единичку, а он все равно количество из С1 отображает(
 
Димон, посмотрите пожалуйста лист Тест в мое файле, там попроще, нужно просто найти нужный артикул и ненулевое количество без всяких дат.
 
Если правильно понял:  
=СУММПРОИЗВ(--(B3:B14=F2);C3:C14)  
Проще:  
=СУММЕСЛИ(B3:B14;F2;C3:C14)
 
Может так, как вариант?
 
Да, так работает. Спасибо ShAM. Теперь пожалуйста приделайте этот алгоритм в мою табличку в лист "продажи".
 
s3s, пожалуйста, почитайте справку. Формулы состоят из одной функции.  
В Вашем случае лучше применить СУММЕСЛИ() - и проще, и в справке понятнее.
 
{quote}{login=s3s}{date=04.01.2012 03:12}{thema=}{post}Да, так работает. Спасибо ShAM. Теперь пожалуйста приделайте этот алгоритм в мою табличку в лист "продажи".{/post}{/quote}  
 
Вашему табличку не как?  
Потому-что № счета и дата поступления будет меняться часто... Вам придется каждом заполнении копировать ячейку и вставить как значения ... это Вам надо?
 
А как участвуют в формулах дата и номер счета? Мне кажется Вы не поняли суть вопроса.
Страницы: 1 2 3 След.
Читают тему
Наверх