Показать полную графическую версию : [архив] Microsoft Excel 2003 и более ранние версии
Rudyпо этому принципу объединить данные по всему листуТак объедини построчно данные, а потом полученные в столбце данные...
объедини построчно данныеОбъединяю. Подскажите, как потом закрепить данные на всем листе?
Думал в "ПО" или "Програмирование" - решил пока в "ПО", ибо речь все же о формулах, а не о VBA... Если что, можно будет и перенести.
Привет человеки. Возникла тут у меня необходимость в таблицах MS Excel расчитывать даты сроков исполения различных работ, реализацию которой и хотелось бы обсудить.
Дано: дата начала работы и срок (в днях) ее исполнения. Надо: найти дату исполнения. Все бы ничего, однако срок задается не в календарных, а в рабочих днях, отсюда и определенные сложности.
Пока сделал формулу, учитывающую сроки за вычетом выходных, следующего вида:
=C24+D24+1+ОТБР((ДЕНЬНЕД(C24;2)+D24)/5;0)*2, где C24 - ячека с датой (в формате - дата);
D24 - ячейка со сроком в рабочих днях (общее или целочисленный).
Вроде нормально, вот только праздники не учитываются.
Может кто знает, есть ли способ с помощью формул расчитать даты исполнения, но еще и с учетом праздников? Можно с использованием всякой экзотики, типа ссылочных массивов, матриц, областей и т. п.
Есть гуру в этом вопросе?
Pliomera
21-11-2005, 18:24
Dim i As Integer
Dim Day_in_Year(365) As Boolean 'В массиве храним инфу: True - рабочий день, False - выходной или праздник
'Заполняем значения массива на текущий год
'считывая данные из столбца B на вспомогательном листе Sheet2
'в котором единичками отметим рабочие дни
'В столбце A протащим даты от 1.01. до 31.12.
For i = 0 to 365
Day_in_Year(i) = (Sheets("Sheet2").Cells(i + 1, 2).Value = 1)
Next i
'Пусть на листе Sheet1 в ячейке a1 - исходная дата, а в ячейке b1 срок в рабочих днях
'Далее можно на кнопку (или еще куда) повесить:
Private Sub Result()
Dim i As Integer, x As Integer, n As Integer
For i = 0 to 365
'Порядковый номер в году исходной даты
If Sheets("Sheet1").Cells(1, 1).Value = Sheets("Sheet2").Cells(i + 1, 1).Value Then x = i + 1
Next i
n = Sheets("Sheet1").Cells(1, 2).Value 'Считываем количество рабочих дней
Do
If Day_in_Year(x) Then n = n - 1 'Обратный отсчет рабочих дней
x = x + 1
If n = 0 Then Exit Do
Loop
'Выводим в ячейку a3 листа Sheet1 искомую дату
Sheets("Sheet1").Cells(1, 3).Value = Sheets("Sheet2").Cells(x, 1).Value
End Sub
Это просто как пример, возможно всё реализуется проще
И всё-таки программирование :)
Pliomera
Спасибо, конечно... Однако речь идет все же именно о формулах, а не о использолваниии VBA (я в оффтопике об этом уже говорил). Мне бы все же формулы... Я понимаю, что на VBA многое реализваить проще, но... задача-с...
Доброе время суток!
Подскажите как в Excel сделать так, чтобы числовое значение (например 234) переводилось в текст (двести тридцать четыре)
Заранее спаибо!
Программы для представления числа прописью на русском языке (http://www.microsoft.ru/offext/documents/text/list.aspx?id=15)
До кучи
http://www.allok.ru/index.php?id=3
http://www.allok.ru/images/transnum2.gif
Как сделать так, чтобы в ячейке Excel отображалась сама формула, а не ее значение. В справке Excel, а также в интернете через поиск, удается найти только один вариант - CTRL+(` знак левой кавычки). Я так понимаю, что речь идет о знаке, расположенном вместе с буквой Ё и знаком тильда. Но данный вариант у меня почему-то не работает. Тильда, буква Ё и сама левая кавычка (по-английски) отображаются нормально. Но в сочетании с CTRL ничего не работает. Может что-то еще нужно выставить в параметрах Excel? Или есть другой способ переключения между режимами отображения значения ячейки и формулы ячейки? Система Windows XP Pro Russ SP-2. Стоит версия Microsoft Excel 2002.
Сервис-Параметры-Вид --- параметры окна - ставим птицу напротив надписи - формулы
RonaldСпасибо! Все заработало.
Faraon55555
26-12-2005, 13:17
В врорде имеется такая Вещь как подстрочные и надстрочные символы. Ну чтобы не лезть в майкрософт эквейшн каждый раз когда надо поставить квадрат или индекс. кАК мне это же сделать в Exel?
Буду очень признателен за помощь.
Vovchick1
26-12-2005, 13:52
1. Двойной щелчёк по ячейке
2. Выделяеш текст
3. Щёлкаеш правой кл. мыша
4. Выбираеш "Формат ячеек"
5. На вкладке "Шрифт" ставиш галку на против "Верхний индекс"("Нижний индекс")
6. Готово :)
Faraon55555
26-12-2005, 13:58
ОГРОМНОЕ СПАСИБО, чувствую себя ламером...
Vovchick1
26-12-2005, 23:01
Не за что!!! :) Бывает!!!
ОС win2000sp4
Проблема:
После того как пользователь User_name открывает второй файл в екселе, он выдает сообщение что файл уже открыт пользователем User_name и будет открыть в режиме только чтения с уведомлением об этом пользоваетля.
После того как нажимаешь отмена и снова открываешь файл все нормально, файл загружаеться без всяких окон и уведомлений.
Посоветуйте что можно сделать.
Проблема появилась после переустановки системы.
Docent-7610
25-01-2006, 03:46
а в доступе не стоит ограничение на 1 пользователя?
Доп. информация
Файлы пользователя находятся на сетевом ресурсе с со всеми разрешениями кроме удаления корневой папки.
Органичений на количество пользователей нет.
Office 2003 SP2.
Проблема в том, что он открывает не тот же файл а другой и его точно никто еще не открыл до него. А уж тем более он сам:) о чем пишется в окне сообщения.
а в доступе не стоит ограничение на 1 пользователя?
Вы какой доступ имеете в виду?
Сетевой или доступ в настройке самого ексела?
Если ексела то доступ монопольный, НО до переустановки то все работало..
Я могу конечно проставить в каждом файле галочку с разрешением правки файла нескольким людям одновременно, но у человека то немалое кол-во файлов и при каждом создании файла мне прийдется идти к пользователю ставить эту галку.. согласитесь не совсем автоматизировано:)
Gerdewski
25-01-2006, 15:54
при каждом создании файла мне прийдется идти к пользователю ставить эту галку..
А пользователя научить бесполезно? Или на панели в exel-е вывести кнопку с макросом который все сделает сам?
По-моему без разрешения совместного доступа тут не обойтись.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.
Available in ZeroNet 1osznRoVratMCN3bFoFpR2pSV5c9z6sTC