Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 05.09.2007, 07:22   #1
Умелец
Пользователь
 
Регистрация: 16.03.2007
Сообщений: 48
По умолчанию Проблема с формулами

Всем Привет! Кто силен в Excel помогите пожалуйста.
Вот моя таблица по использованию отпусков, суть ее в том чтобы отслеживать когда человек ходил в отпуск, сколько дней осталось ну и т.д. У меня проблемы вот в чем:
1. В ячейке Кол-во неиспользованных дней отображается по моей формуле =I6-(L6-K6) 24 дня а должно быть 23, т.к. в примере с 20.05.2007 по 15.06.2007 это равно 27, а 50 - 27 = 23. Получается моя формула не включает 20е число, а начинает считать с 21го.
2. Я вроде бы это исправил вот такой формулой =I6-(L6-K6)-1, но опять же когда ячейки с датами пусты то получается Кол-во неиспользованных дней всегда меньше на 1.
P.S. Я понимаю что это выглядит тупо, но по другому я просто не знаю как, может кто подскажет какую формулу ввести, или может у кого нибудь есть подобная таблица учета отпусков.
Заранее благодарю!
Умелец вне форума
Старый 05.09.2007, 07:27   #2
Умелец
Пользователь
 
Регистрация: 16.03.2007
Сообщений: 48
По умолчанию

Прошу пощения вот она таблица ГО.zip
Умелец вне форума
Старый 05.09.2007, 21:27   #3
pashulka
Форумчанин
 
Регистрация: 03.11.2006
Сообщений: 524
По умолчанию

Вы можете использовать, например, такой вариант : =ЕСЛИ(СЧЁТ(K6;L6)=2;I6-(L6-K6+1);I6)
pashulka вне форума
Старый 06.09.2007, 03:37   #4
Умелец
Пользователь
 
Регистрация: 16.03.2007
Сообщений: 48
По умолчанию

Спасибо большое pashulka, формула работает но я ее не понимаю, объясни если не трудно, что значит СЧЕТ и ";".
Умелец вне форума
Старый 06.09.2007, 07:33   #5
pashulka
Форумчанин
 
Регистрация: 03.11.2006
Сообщений: 524
По умолчанию

Стандартная функция рабочего листа =СЧЁТ() используется мною для подсчёта количества дат, а ; для разделения аргументов этой функции. Более подробную информацию можно получить в справочной системе, от себя лишь добавлю, что символ, который служит разделителем, не является константой и может быть изменён. Впрочем, в России это, как правило, именно ;
pashulka вне форума
Старый 06.09.2007, 08:51   #6
Умелец
Пользователь
 
Регистрация: 16.03.2007
Сообщений: 48
По умолчанию

Pashulka прошу прощение за настырность, если не трудно.
=ЕСЛИ(СЧЁТ(K6;L6)=2;I6-(L6-K6+1);I6)
1. Почему равно 2. (что означает цифра 2)
2. Убераю I6 последнюю т.е. вот так
=ЕСЛИ(СЧЁТ(K6;L6)=2;I6-(L6-K6+1)) и все также работает.
P.S. Вот эта часть понятно это мой первый вариант I6-(L6-K6+1)
ЕСЛИ это условие, тож как бы понятно
Но вот это СЧЁТ(K6;L6)=2 хоть убей.
Умелец вне форума
Старый 06.09.2007, 17:05   #7
pashulka
Форумчанин
 
Регистрация: 03.11.2006
Сообщений: 524
По умолчанию

1. Два, это количество ячеек, переданных функции, т.е. я просто проверяю содержат ли ячейки K6 и L6 даты(числа) или нет.
2. В случае, если в любой из двух вышеперечисленных ячеек будет наличествовать нечисловое значение, например, ячейки K6 и L6 будут пусты, кастрированный вариант возвратит логическое значение ЛОЖЬ. На мой взгляд, это не есть хорошо, ибо в таких случаях формула должна возвращать общее количество дней, т.е. I6
3. По сути, это конечно же первоначальный вариант, только в последнем примере есть небольшое "различие", которое, как я надеюсь, подтолкнёт кого-нибудь к отходу от шаблонов.
pashulka вне форума
Старый 07.09.2007, 09:22   #8
Умелец
Пользователь
 
Регистрация: 16.03.2007
Сообщений: 48
По умолчанию

Pashulka благодарю за твое понимание, ты просто Ас какой то в Excel, а в программировании тоже рубишь хорошо да? Сам осваиваешь или на курсах каких изучал?. Лично мне тот же Excel сложно дается.
Касательно моей таблице несколько вопросов:
1. Например у нас на предприятии максимум отпуск можно разбить на четыре части, как я понимаю в одной ячейке этого не сделать и как в этом случае поступить, для каждого сотрудника оставлять например четыре графы. (например из 50 дней сначала он взял 15 потом 20 потом 15, а может и весь сразу).
2. Не могу понять как переносить шапку на другой лист (хочу чтобы было так например 1Лист Руководство, 2Лист Бухгалтерия 3Лист Отдел кадров 4Лист Гараж и т.д.).
3. Как то организовать выборку (например по фамилии, по таб№ по должности)
P.S. Короче говоря задумки и идеи не плохие, но с реализацией большие проблемы, да и вообще как специалист как думаешь такие вещи в Excel есть смысл делать или нет.
Умелец вне форума
Старый 07.09.2007, 11:07   #9
pashulka
Форумчанин
 
Регистрация: 03.11.2006
Сообщений: 524
По умолчанию

1. Используя одну ячейку можно "разбить" отпуск на несколько частей, например, =15+20+15 но при этом теряется наглядность и усложняется возможность анализа, если он конечно нужен. Поэтому, Вы можете остановиться на своём варианте.
2. Если создание нескольких листов необходимо (теоретически Вы можете использовать один шаблон, ибо в нём наличествует столбец Объект), то можно скопировать шапку либо в каждый отдельный лист, либо во все нужные листы сразу, можно использовать заполнение по листам. А можно создать нужную таблицу и перед её заполнением, навести курсор мышки на ярлычок листа, кликнуть правой кнопкой мышки и в контекстном меню выбрать команду Переместить/Скопировать, затем в стандартном диалоговом окне установить "флажок" напротив Создавать копию, выбрать месторасположение нового листа, используя список Перед листом и кликнуть кнопку OK.
3. Для выборки данных, используя уникальные данные, типа ФИО можно использовать стандартные функции рабочего листа =ВПР() либо =ИНДЕКС(...,ПОИСКПОЗ())

Два примера, применительно к опубликованной Вами таблице :
=ВПР("Иванов И.И.";Лист1!$B$6:$M$31;2;0)
=ИНДЕКС(Лист1!$A$6:$M$31;ПОИСКПОЗ(2 7373;Лист1!$D$6:$D$31;0);2)

P.S. Подобные задачи многие человеки реализуют именно в Excel, впрочем, если Вам удобнее использовать другие программы, а с электронными таблицами возникают постоянные проблемы, то ... в общем, выбор есть почти всегда.
pashulka вне форума
Старый 12.09.2007, 06:29   #10
Умелец
Пользователь
 
Регистрация: 16.03.2007
Сообщений: 48
По умолчанию

Огромнейшее спасибо тебе Pashulka
Умелец вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема. kupulau Общие вопросы C/C++ 19 05.02.2008 21:11
проблема с URL Scorpeon Помощь студентам 1 18.06.2007 13:28
Проблема с UDP Kirill666 Работа с сетью в Delphi 3 22.03.2007 21:55