Ru-Board.club
← Вернуться в раздел «Программы»

» Excel FAQ

Автор: Robert
Дата сообщения: 07.12.2004 00:38
Solenaja

Цитата:
Сначала примерно определить корень, или интервал, где он находится (например, табулированием функции, по смене знака), потом подбор параметра с разными начальными данными.
Автор: leputain
Дата сообщения: 08.12.2004 03:32
скажите, есть ли возможность в 2000 excel'е распечатать таблицу со стрелочками зависимостей и можно ли выбрать цвет и вид этих стрелочек?
Автор: Solenaja
Дата сообщения: 08.12.2004 09:14
Robert
а как же я определю интервал
Автор: Robert
Дата сообщения: 08.12.2004 23:04
Solenaja

Цитата:
а как же я определю интервал

Табулирование функции (следим за изменением знака), исследование функции обычными методами. Можно построить график и понять по виду функции.
Автор: max67
Дата сообщения: 09.12.2004 02:43
Solenaja

Цитата:
а как же я определю интервал

Думаю, что исследование отдельных интервалов это методически порочный подход. Вам ведь не практический результат нужен, а какой-либо отчет, вроде реферата?

Если пользоваться только средствами Excel, правильнее бедет двинуться в сторону понижения степени полинома. Т.е. находите первый корень x0, делите свое уравнение на (x-x0) и снова подбор параметра.

Ещё можно отметить частные случаи. Для квадратного уравнения мы таким образом имеем теорему Виета и второй корень находится совсем просто (x0+x1=-b/a). Для степеней 3 и 4 то же есть частные решения.
Автор: Romul
Дата сообщения: 18.12.2004 09:06
Подскажите пожайлуста:
Есть картинка (предположим из Word'a), нажимаем "копировать", заходим в Excel, выделяем нужную ячейку и нажимаем "вставить". Картинка вставляется кое-как, но сразу видно что к выбранной ячейке она совсем не относится и "висит в воздухе" рядом с ячейкой. Несмотря на то что в свойствах картинки написано "привязать к ячейке и изменять размеры"!
Как это исправить, т.е. чтобы картинка также грамотно вставлялась как если бы таблица была бы в Word'e? Т.е. если ячейку куда-то перемещаешь (сортировкой, например), то картинка вместе с ней перемещалась и вообще жестко к ней была привязана - т.е. например если ячейкаменьше по размеру чем картинка, то она автоматически под нее расширилась (как в Word'e).

Заранее благодарен, меня этот вопрос давно волновал)

Ответ: 'в формате объекта есть параметр "перемещать и изменять размер вместе с ячейками" ' почему то не рабоает.
Автор: LINUXXX
Дата сообщения: 21.12.2004 23:12
Здравствуйте!
Надеюсь на Вашу помощь.
Допустим, у меня есть таблица с 2 столбцами(ФИО, зарплата) и несколькоми строками. Часто приходит таблица с обновлениями, т.е. только обновленная зарплата для кого-то. Как сделать так, чтобы обновлять исходную таблицу, но чтобы старые строки не удалялись(стерались), а новые добавлялись.
Большое спасибо
Автор: derailer
Дата сообщения: 22.12.2004 12:58
Excel 2003
как открыть каждую новую книгу в своем окне ?
Автор: LINUXXX
Дата сообщения: 23.12.2004 16:25
HELPPPP!! PLZZZZ
Автор: Busyatka
Дата сообщения: 23.12.2004 16:38
derailer
открывать каждый раз программу с новой книгой...
Автор: bredonosec
Дата сообщения: 23.12.2004 16:44

Цитата:
Как сделать так, чтобы обновлять исходную таблицу, но чтобы старые строки не удалялись(стерались), а новые добавлялись.
- А где им быть тогда? Или, если есть желание, копируй столббец и вставляй его в следующий столбец исходной. - третий, четвертый, т.д...
Автор: LINUXXX
Дата сообщения: 23.12.2004 19:09
ли, если есть желание, копируй столббец и вставляй его в следующий столбец исходной. - третий, четвертый, т.д...

Вот в чём дело- надо чтобы автоматом сливались!
Автор: bredonosec
Дата сообщения: 23.12.2004 19:14

Цитата:
надо чтобы автоматом сливались!
- Подробней можно? Что, как, куда и почему. Недопонял задачу..
Автор: LINUXXX
Дата сообщения: 23.12.2004 21:59
Во-первых, спасибо за ответ.
Есть таблица, допустим 2 столбца и 7 строк.Пример
|ФИО|Зарплата|
|Иванов|700|
|Петров|600|
|Сидоров|500|
|Шукшин|400|
|Пупкин|300|
|Безымяный|200|
Приходит обновление, такое:
|Иванов|1000|
|Пупкин|700|
|Новичок1|300|
|Новичок2|1000|
На самом деле в обновлении оч. много записей и просто копировать и вставлять...замучаешься!!!
После обновления должно быть так:
|ФИО|Зарплата|
|Иванов|1000|
|Петров|600|
|Сидоров|500|
|Шукшин|400|
|Пупкин|700|
|Безымяный|200|
|Новичок1|300|
|Новичок2|1000|

Спасибо.
Автор: bredonosec
Дата сообщения: 24.12.2004 04:17
LINUXXX

Цитата:
После обновления должно быть так:
- В принципе, можно это дело реализовать так:
1. Вставляешь начиная с первой свободной строки весь блок нового (то есть, просто копипэйстишь его под имеющееся)
2. Выделяешь первый столбец (как понял, у тебя задача именно в сортировке по фамилии) и жмешь ему "сортировать по возрастанию" - фамилии выстраиваются, а вместе с ними и числа второго стоблца.

Ой.. не заметил. У тебя старые заменяются, а новые добавляются..
Тогда думается что-то вроде макроса, который бы проверял наличие имени в таблице и в зависимости от этого делал добавку или замену..
Или добавить сначала каждому имени (в новопришедшем) в конце символ "_" или точку, или хоть еденицу, после этого пункты 1 и 2, после этого получим ряд, где повторяющиеся фамилии будут по парам раскиданы, сначала просто, потом с символом. А там уже поудалять лишние строки (например, повесив команду удалить строку на комбинацию клавиш - тогда одним кликом), или как-то автоматичнее, но пока не придумал как.

Гляну в методичку, может, что в голову интересное стукнет..
Если нет и требуется именно полный автомат, то по макросам спец robert.
Автор: Geezer S
Дата сообщения: 24.12.2004 09:04
LINUXXX
Полный автомат - это надо макрос. Есть предложение по полуавтомату. Твоя задача состоит из двух подзадач:
1. Изменить з/п у старых работников
2. Добавить новых.

1. Допущения: основная таблица расположена на листе Лист1 файла Книга1.xls, изменения - на листе Лист2 файла Книга2.xls. В обоих таблицах в столбце А - ФИО, в столбце В - з/п. Оба файла открыты. В первом же свободном столбце основной таблицы в первую ячейку (после заголовка) вводим такую формулу:

Код: =ЕСЛИ(ЕНД(ВПР(A2;[Книга2]Лист2!A:B;2;0));B2;ВПР(A2;[Книга2]Лист2!A:B;2;0))
Автор: Tropin
Дата сообщения: 24.12.2004 10:45
LINUXXX
Кто-то сказал слово макрос??? :)

Код: Sub RefreshData()
Set WS1 = Worksheets("Лист1") ' Лист с данными
Set WS2 = Worksheets("Лист2") ' Лист с обновлениями

For Each Line2 In WS2.UsedRange.Rows
stroka = Line2.Cells(, 1).Value
Set FR = WS1.Range(WS1.Cells(WS1.UsedRange.Rows.Row, 1), _
WS1.Cells(WS1.UsedRange.Rows.Row + _
WS1.UsedRange.Rows.Count - 1, 1))

Set c = FR.Find(stroka, LookIn:=xlValues, LookAt:=xlWhole)

If c Is Nothing Then
' если сотрудника нет
LastRow = WS1.UsedRange.Rows.Count + 1
WS1.Rows(LastRow).Insert Shift:=xlDown
WS1.Cells(LastRow, 1) = WS2.Cells(Line2.Row, 1)
WS1.Cells(LastRow, 2) = WS2.Cells(Line2.Row, 2)
Else
WS1.Cells(c.Row, 2) = WS2.Cells(Line2.Row, 2)
End If
Next Line2
End Sub
Автор: LINUXXX
Дата сообщения: 24.12.2004 15:10
Всем спасибо!
Tropin,
тебе особое спасибо. Всё работает))СПАСИБО ещё раз!
Автор: mp3exchanger
Дата сообщения: 25.12.2004 01:03
Tropin

Цитата:
Не совсем универсально, но вроде решает правильно

Супер! Работает! Я думал, что это должен быть супернавороченный макрос, а ты его в несколько строк уместил. Tropin, ты так здорово знаешь макросы! Поделись, как долго изучал и по какой литературе? Я тоже так хочу
Автор: LINUXXX
Дата сообщения: 25.12.2004 14:48
Tropin,
а у меня ещё один вопрос как поменять кол-во столбцов, допустим, их стало пять? что надо изменить. Может надо добавить новые переменные?
Автор: Robert
Дата сообщения: 26.12.2004 10:17
LINUXXX

Цитата:
как поменять кол-во столбцов, допустим, их стало пять? что надо изменить.

Ничего менять не надо, макрос работает со строками целиком независимо от количества столбцов. Главное - чтобы фамилии были в первом столбце.
Автор: Tropin
Дата сообщения: 26.12.2004 12:36
Robert, LINUXXX
На самом деле не совсем так...
1. Зависит от того какие столбцы добавлять...
2. Если столбцы с обновляемой информацией (типа зарплата), то если посмотреть внимательнее, у меня есть строки
WS1.Cells(LastRow, 2) = WS2.Cells(Line2.Row, 2) ' для нового
WS1.Cells(c.Row, 2) = WS2.Cells(Line2.Row, 2) ' для обновления существующего

таким образом если появится столбец "ПРЕМИЯ", то достаточно додавить к этим строкам еще и
WS1.Cells(LastRow, 3) = WS2.Cells(Line2.Row, 3) ' для нового
WS1.Cells(c.Row, 3) = WS2.Cells(Line2.Row, 3) ' для обновления существующего
соответственно.
Но если совсем красивл, то лучше копировать сразу диапазоном, тогда можно сколько угодно столбцов обновлять...


mp3exchanger

Цитата:
Поделись, как долго изучал и по какой литературе?

Если честно, то изучал сам по F1 ;)... ну конечно у нас на работе есть какая-то книжка, обычно я к ней обращаюсь, чтобы найти какую-либо специфическую для Экселя инфу, например синтаксис при проверки существования объекта If c Is Nothing Then или что-то подобное...
А чтобы хорошо писать макросы достаточно просто знать основы алгоритмизации... ну и не плохо бы уметь писать программы на каком-нибудь (более серьезном ;) языке...
Вот я, надеюсь, не плохо знаю Pascal, давным давно, конечно, интересовался и бэйсиком, а VBA - имхо тоже самое, только несколько размыто... + объектно ориентировано (что, конечно, есть "плюс" ;)...
Ну а сами макросы в жизь бы не стал писать, но на работе этого и подавно никто не умеет, вот и приходится иногда сталкиваться, а на руборде можно и попрактиковаться, заиметь различные наработки, да и другим помочь ;)...
Автор: LALALA3000
Дата сообщения: 27.12.2004 15:49
У меня проблема ;(
есть файл размером 43 мб. - открыватеся нормально
файл размером 47 мб. - вылетает в месагу "не достаточно памяти"

п4 2.8HT
512 DDR dual channel
80 7.200 8mb
WinXP sp1
файл подкачки по выбору системы

есть ли возможность исправить ситуацию? а то больно информация важная.
Из-за чего это может быть?
в ДЗ выделение памяти экселю 143мб, каждый раз при вылете, может он (эксель) не может адресовать больше памяти для каждого отдельного файла?
Автор: LINUXXX
Дата сообщения: 27.12.2004 22:22
Немного изменил:
--------------------------------------------------------------------------------------------
Sub RefreshData()
Set WS1 = Worksheets("Лист1") ' Лист с данными
Set WS2 = Worksheets("Лист2") ' Лист с обновлениями

For Each Line2 In WS2.UsedRange.Rows
stroka = Line2.Cells(, 1).Value
Set FR = WS1.Range(WS1.Cells(WS1.UsedRange.Rows.Row, 1), _
WS1.Cells(WS1.UsedRange.Rows.Row + _
WS1.UsedRange.Rows.Count - 1, 1))

Set c = FR.Find(stroka, LookIn:=xlValues, LookAt:=xlWhole)

If c Is Nothing Then
LastRow = WS1.UsedRange.Rows.Count + 1
WS1.Rows(LastRow).Insert Shift:=xlDown
For i = 2 To 9
WS1.Cells(LastRow, i) = WS2.Cells(Line2.Row, i)
Next i
Else
For i = 2 To 9
WS1.Cells(c.Row, i) = WS2.Cells(Line2.Row, i)
Next i
End If
Next Line2

MsgBox "Данные обновлены"
End Sub
-------------------------------------------------------------------------------------------------

А как сделать по обновление по столбцам?
Автор: Tropin
Дата сообщения: 27.12.2004 22:34
LALALA3000
Экселевский файл в 47 Мб - это изврат!
Если информация действительно важная, то и хранить её нужно в более менее надежном месте...

LINUXXX

Цитата:
А как сделать по обновление по столбцам?

Не понял какое именно обновление и по каким столбцам?
Пример был бы желателен ;)
Автор: LINUXXX
Дата сообщения: 27.12.2004 22:52
Tropin,
ну я подумал, надо уж закончить этот прожект до полного.
Допустим,
|ФИО|Зарплата|Премия|Кол-во раб.недель|
|Иванов|700|100|5|
|Петров|600|10|5|
|Сидоров|500|990|7|
|Шукшин|400|100|3|
|Пупкин|300|10000|99|
|Безымяный|200|1090|50|
Приходит обновление, такое:
|ФИО|Зарплата|Кол-во раб.недель|
|Петров|1500|15|
|Сидоров|0|0|
|Новичок1|700|8|
|Новичок2|600|9|
После обновления должно быть так:
|ФИО|Зарплата|Премия|Кол-во раб.недель|
|Иванов|700|100|5|
|Петров|1500|10|5|
|Сидоров|0|990|0|
|Шукшин|400|100|3|
|Пупкин|300|10000|99|
|Безымяный|200|1090|50|
|Новичок1|700| |8|
|Новичок2|600| |9|

Т.е. как бы если нет ПРЕМИЯ, но есть Кол-во РАБ. НЕДЕЛЬ, то обновление без удаления(т.е. аналагично, но по столбцам)

Автор: LALALA3000
Дата сообщения: 28.12.2004 10:17
Tropin
это не изврат, а проза жизни ;(
пока надо работать вручную - 10 бюджетов по 22 филиалам на год, куда тут деться?
так есть решение этой проблеммы или нет?
Автор: xcm
Дата сообщения: 28.12.2004 10:51
LALALA3000

Эксел то какой ? Если 2000 то он по моим наблюдениям не очень хорошо работает с большими файлами и особенно автофильтрами в них ... 2003 в этом отношении лучче и СП к нему.
Автор: bredonosec
Дата сообщения: 28.12.2004 13:09
LALALA3000

Цитата:
это не изврат, а проза жизни ;(
пока надо работать вручную - 10 бюджетов по 22 филиалам на год, куда тут деться?
- А почему бы не использовать связанные файлы? В смысле, бюджет филиала в одном файле, другого - в другом, а общий в ячейках имеет связи с теми доками. (напр, сразу настроить тот или иной ряд/строку/... (по крайней мере, у нас так базы по клиентам связаны были меж собой и с бланками (договоров/счетов/...))
Автор: LALALA3000
Дата сообщения: 28.12.2004 13:36
bredonosec
Согласен, но это не я делаю, а женщина
ей надо так, вот она с страдает.
все еще жду решений
З.Ы. сам делать не буду.

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667

Предыдущая тема: Gentoo Linux


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.