Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Сохраняются "английские" формулы. Как исправить? / 14 сообщений из 14, страница 1 из 1
04.12.2008, 12:15:56
    #35692984
Сергей06
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сохраняются "английские" формулы. Как исправить?
Добрый день!
Случилось у меня пару дней подряд следующее:
1. Эксель 2007 перестал у меня открывать Перонал.xls файл.
Не хочет и все тут.
Случилось это после того, как я через диспетчер задач завершил экселевский процесс
Создал новый персонал.xlms
Его открывает.
Может он заблокировал содержимое файла Перонал.xls? Как его разблокировать?
2. Формулы из надстройки Пакет анализа не пересчитываются автоматически. Нужно заходить в ячейки и вновь их вводить. Хренатень какая-то. Как с этим можно побороться?
3. Кроме того, когда я сохраняю файлы в версии 2003 экселя, то но формулы их надстройки Пакет анализа в экселе 2003 открывает в "английском" варианте.
Ну так работать совсем невозможно!!!!
Прошу помогите дельными советами.
Или уже по новой все переустановть нужно?
...
Рейтинг: 0 / 0
04.12.2008, 23:20:51
    #35694980
KL (XL)
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сохраняются "английские" формулы. Как исправить?
Сергей06,

К сож. 2) и 3) это поведение по дизайну :-(

2) Если лист был сохранен в XL2003, а потом открыт в XL2007, то формулы с функциями надстройки Пакет анализа не пересчитываются автоматически. Их надо форсированно пересчитывать. Проблема в том, что в XL2007 сама надстройка исчезла, а ее функции стали встроенными стандартными функциями Excel

3) В 2003 Excel функции надстройки Пакет анализа автоматически не переводятся и не переводились никогда. Эта фича появилась в 2007, в результате исчезновения самой надстройки и перевода ее функций во встроенные стандартные функции Excel
...
Рейтинг: 0 / 0
05.12.2008, 08:25:18
    #35695178
Сергей06
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сохраняются "английские" формулы. Как исправить?
KL (XL), большое спасибо!
Понял следующее - нельзя мне переходить на XL2007 пока другие будут работать в XL2003... с пакетом анализа. Очень и очень грустно ;-.............

1. Я правильно понял, что стандартные функции экселя при сохранении переводятся в английский язык, и потом при открытии в любой другой версии переводятся на тот язык, который установлен в данной версии экселя?
Т.е. ты работаешь в английской (испанской) версии экселя, выкладываешь файлы сюда, а мы их открываем и видим русское намиенование функций? Так?

2.Соответственно, XL2003 функции пакета анализа всё равно сохраняет в языке локального экселя, и соответсвтенно не может их перевести на русский? А если дополнить файл перевода функций функциями из пакета анализа? Или это геморойно? Всё равно для всех не сделаешь.

3. Как сделать форсированное пересчет формул? Только макросом?
Например такой

Sub С122()
'Dim Время As Date
Dim mycell As Range
Dim Всевремя As Variant

Время = Timer
Set mycell = Cells

For Each mycell In mycell.Cells
If mycell.HasFormula = True Then
a = mycell.Formula
mycell.Formula = a
End If
Next
Всевремя = Timer - Время
'MsgBox Всевремя

End Sub
...
Рейтинг: 0 / 0
05.12.2008, 10:04:39
    #35695351
Сергей06
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сохраняются "английские" формулы. Как исправить?
Конечно, такой макрос работает у меня около 300 сек.
И не учитывает того, что есть формулы массива.

С другой стороны, если я записываю формулу в XL2003
=СУММ(C1:C2)+EOMONTH(G1;0),
то она нормально считает...
а если открываешь в XL2003 файл (был сохранен в XL2007) и видишь оно не считает.

Ничего не понимаю
...
Рейтинг: 0 / 0
05.12.2008, 13:09:15
    #35695975
KL (XL)
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сохраняются "английские" формулы. Как исправить?
Сергей06,

1) Да, MS Office - US-centric. Все хранится на англ.

2) Да, функции функции пакета анализа до XL2007 хранятся в файле приложения на языке локали установки MS Office.

3) Может так быстрее:

Код: plaintext
1.
2.
3.
4.
5.
Sub test()
    Application.ScreenUpdating = False
    With Cells.SpecialCells(xlCellTypeFormulas)
        .Formula = .Formula
    End With
End Sub

но ф. массива потеряешь. Если надо восстанавливать ф. массива, то поячеечно, используя .FormulaArray и HasArray

А вообще, думаю, наиоптимальнейший вариант - делать как я, т.е. не использовать функций пакета анализа:

EOMONTH(A1,B1) = DATE(YEAR(A1),MONTH(A1)+1+B1,)
...
Рейтинг: 0 / 0
05.12.2008, 15:44:38
    #35696537
Сергей06
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сохраняются "английские" формулы. Как исправить?
KL (XL), Спасибо.
Все понятно.

Без функции пакета анализа наверняка лучше, да больно громоздко получается.
Попробую привести пример формулы использующей функции пакета анализа: как ее сделать если без функций этого злосчастного пакета?

{=ЧИСТРАБДНИ(E9;КОНМЕСЯЦА(E9;0)+СЧЁТ(ЕСЛИ(ДЕНЬНЕД(СТРОКА(ИНДЕКС(E:E;E9):ИНДЕКС(E:E;КОНМЕСЯЦА(E9;0)));2)=A12;1;""))+СЧЁТ(ЕСЛИ(ДЕНЬНЕД(СТРОКА(ИНДЕКС(E:E;E9):ИНДЕКС(E:E;КОНМЕСЯЦА(E9;0)));2)=A11;1;""))}

Где,
A10 - подставить 6 если работаем в субботу или 0 если не работаем
A11 - подставить 7 если работаем в воскресенье или 0 если не работаем
ЧИСТРАБДНИ(E9;КОНМЕСЯЦА(E9;0) в этом выражении можно добавить ссылку на праздничные дни
Ввод массива: Crl + shift + enter

или

Определение порядкового номера недели в месяце:

{=ЕСЛИ(МЕСЯЦ(F6)=1;НОМНЕДЕЛИ(F6;2);ЕСЛИ(НОМНЕДЕЛИ(F6;2)-НОМНЕДЕЛИ(КОНМЕСЯЦА(F6;-1);2)=0;1;НОМНЕДЕЛИ(F6;2)-НОМНЕДЕЛИ(КОНМЕСЯЦА(F6;-1);2)))}
...
Рейтинг: 0 / 0
05.12.2008, 16:21:38
    #35696656
DaniilK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сохраняются "английские" формулы. Как исправить?
аналог ф-ции КОНМЕСЯЦА() приведен на этой странице
http://www.msoffice.nm.ru/faq/formula2.htm
...
Рейтинг: 0 / 0
05.12.2008, 16:25:34
    #35696674
DaniilK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сохраняются "английские" формулы. Как исправить?
аналог ф-ции НОМНЕДЕЛИ(;2)
/публикуется впервые/
ОКРВВЕРХ((B2-ДАТА(ГОД(B2);1;1)+ДЕНЬНЕД(ДАТА(ГОД(B2);1;1);2))/7;1)
где в B2 ваша дата
...
Рейтинг: 0 / 0
06.12.2008, 05:42:44
    #35697536
KL (XL)
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сохраняются "английские" формулы. Как исправить?
DaniilKаналог ф-ции КОНМЕСЯЦА() приведен на этой странице
http://www.msoffice.nm.ru/faq/formula2.htmА также чуть выше здесь ;-)

DaniilKаналог ф-ции НОМНЕДЕЛИ(;2)
/публикуется впервые/
ОКРВВЕРХ((B2-ДАТА(ГОД(B2);1;1)+ДЕНЬНЕД(ДАТА(ГОД(B2);1;1);2))/7;1)
где в B2 ваша датаВот тут много про номера недели (публикуется много лет) :-)

2 Сергей06
А вообще можно словами выразить каковы цель и результат приведенной формулы, а то разбираться лень? И еще файл с данными бы неплохо.
...
Рейтинг: 0 / 0
08.12.2008, 14:57:01
    #35700220
Сергей06
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сохраняются "английские" формулы. Как исправить?
KL (XL),
Пробовал выразить словами. В приложенном файле.
Если получилось не понятно (не красиво, коряво) то прошу простить и задавать уточняющие вопросы.
...
Рейтинг: 0 / 0
08.12.2008, 15:34:57
    #35700345
DaniilK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сохраняются "английские" формулы. Как исправить?
KL (XL)DaniilKаналог ф-ции КОНМЕСЯЦА() приведен на этой странице
http://www.msoffice.nm.ru/faq/formula2.htmА также чуть выше здесь ;-)

DaniilKаналог ф-ции НОМНЕДЕЛИ(;2)
/публикуется впервые/
ОКРВВЕРХ((B2-ДАТА(ГОД(B2);1;1)+ДЕНЬНЕД(ДАТА(ГОД(B2);1;1);2))/7;1)
где в B2 ваша датаВот тут много про номера недели (публикуется много лет) :-)



Где "тут"? Возможно, что я не знал о том, что формула ОКРВВЕРХ((B2-ДАТА(ГОД(B2);1;1)+ДЕНЬНЕД(ДАТА(ГОД(B2);1;1);2))/7;1) уже ранее публиковалась. Просто по моим данным - нет. Отюда и "/публикуется впервые/"
...
Рейтинг: 0 / 0
08.12.2008, 16:50:39
    #35700608
Сергей06
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сохраняются "английские" формулы. Как исправить?
DaniilK,

тут
http://www.sql.ru/forum/actualthread.aspx?tid=620228#6530038
В таком виде
EOMONTH(A1,B1) = DATE(YEAR(A1),MONTH(A1)+1+B1,)
...
Рейтинг: 0 / 0
08.12.2008, 18:26:32
    #35700893
DaniilK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сохраняются "английские" формулы. Как исправить?
но это же свосем другая формула
...
Рейтинг: 0 / 0
08.12.2008, 19:41:40
    #35701010
KL (XL)
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сохраняются "английские" формулы. Как исправить?
DaniilKГде "тут"? Возможно, что я не знал о том, что формула ОКРВВЕРХ((B2-ДАТА(ГОД(B2);1;1)+ДЕНЬНЕД(ДАТА(ГОД(B2);1;1);2))/7;1) уже ранее публиковалась. Просто по моим данным - нет. Отюда и "/публикуется впервые/"

Пардон забыл ссылку: http://www.cpearson.com/excel/weeknum.htm
Это не было обвинением в плагиате :) Там такой формулы нет и она мне нравится.
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Сохраняются "английские" формулы. Как исправить? / 14 сообщений из 14, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]