|
|
|
Ошибка в формуле?
|
|||
|---|---|---|---|
|
#18+
=СУММ(ЕСЛИ((base!A2:A8="01.01.08")*(base!B2:B8="1");base!L2:L8)) При внесении формулы в ячейку=#ЗНАЧ Подскажите: в чем ошибка Может можно как-то по другому Суммировать ячейки с несколькими критериями? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2008, 16:30:36 |
|
||
|
Ошибка в формуле?
|
|||
|---|---|---|---|
|
#18+
tuandreeva=СУММ(ЕСЛИ((base!A2:A8="01.01.08")*(base!B2:B8="1");base!L2:L8)) При внесении формулы в ячейку=#ЗНАЧ Подскажите: в чем ошибка Может можно как-то по другому Суммировать ячейки с несколькими критериями?=СУММПРОИЗВ(--(base!A2:A8=ДАТА(2008;1;1));(base!B2:B8="1");base!L2:L8) =СУММПРОИЗВ((base!A2:A8=ДАТА(2008;1;1))*(base!B2:B8="1")*base!L2:L8) =СУММПРОИЗВ(--(base!A2:A8=--"01.01.08");(base!B2:B8="1");base!L2:L8) =СУММПРОИЗВ((base!A2:A8=--"01.01.08")*(base!B2:B8="1")*base!L2:L8) =СУММ(ЕСЛИ((base!A2:A8=ДАТА(2008;1;1))*(base!B2:B8="1");base!L2:L8)) ввод CTRL+SHIFT+ENTER =СУММ(ЕСЛИ((base!A2:A8=--"01.01.08")*(base!B2:B8="1");base!L2:L8)) ввод CTRL+SHIFT+ENTER =СУММ(ЕСЛИ(base!A2:A8=ДАТА(2008;1;1);ЕСЛИ(base!B2:B8="1";base!L2:L8))) ввод CTRL+SHIFT+ENTER =СУММ(ЕСЛИ(base!A2:A8=--"01.01.08";ЕСЛИ(base!B2:B8="1";base!L2:L8))) ввод CTRL+SHIFT+ENTER ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2008, 18:09:54 |
|
||
|
Ошибка в формуле?
|
|||
|---|---|---|---|
|
#18+
KL (XL), =СУММ(ЕСЛИ((base!A4:A10=base!$A$2)*(base!B4:B10=1)*(base!G4:G10='0503130'!A15);base!L4:L10)) в параметрах base!G4:G10='0503130'!A15, '0503130'!A15=текстовое поле, значение которого= 01. Не находит этотот текст, если число 1 , то находит. А мне нужен именно текст ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2008, 12:03:50 |
|
||
|
Ошибка в формуле?
|
|||
|---|---|---|---|
|
#18+
tuandreeva, Вы бы выложили пример, а то может там еще какие особенности? к тому же обилие вариантов,предложенное KL , это намек на раличные возможности конвертации данных.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2008, 12:59:12 |
|
||
|
Ошибка в формуле?
|
|||
|---|---|---|---|
|
#18+
А ещё можно вот так: =СУММЕСЛИ(A2:B8;{"01.01.08";1};L2:L8) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2008, 13:07:47 |
|
||
|
Ошибка в формуле?
|
|||
|---|---|---|---|
|
#18+
Это при условии, что столбцы находятся рядом? Как применить эту формулу к моему примеру? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2008, 13:12:07 |
|
||
|
Ошибка в формуле?
|
|||
|---|---|---|---|
|
#18+
Никак! Я поспешил ! :-) Забудь про неё :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2008, 13:28:41 |
|
||
|
Ошибка в формуле?
|
|||
|---|---|---|---|
|
#18+
Помогите мне, пожайлуста. НЕ ЗНАЮ ЧТО И ДЕЛАТЬ ВОПРОС ЖИЗНИ И СМЕРТИ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2008, 13:33:19 |
|
||
|
Ошибка в формуле?
|
|||
|---|---|---|---|
|
#18+
=СУММ(ЕСЛИ(base!A4:A10=base!A2;ЕСЛИ(base!B4:B10=1;ЕСЛИ(base!G4:G10='0503130'!A16;ЕСЛИ(base!H4:H10='0503130'!B16;base!L4:L10))))) Только так, и не стоит мучиться!!!!!!!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2008, 14:27:19 |
|
||
|
Ошибка в формуле?
|
|||
|---|---|---|---|
|
#18+
tuandreeva, вот так? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2008, 15:06:19 |
|
||
|
Ошибка в формуле?
|
|||
|---|---|---|---|
|
#18+
tuandreeva=СУММ(ЕСЛИ(base!A4:A10=base!A2;ЕСЛИ(base!B4:B10=1;ЕСЛИ(base!G4:G10='0503130'!A16;ЕСЛИ(base!H4:H10='0503130'!B16;base!L4:L10))))) Только так, и не стоит мучиться!!!!!!!!! Думаю, мучатся таки стоит :) Хотя бы для того, чтобы разглядеть, что формула не работала из-за неправильно введенных ссылок на столбцы: {=СУММ(ЕСЛИ(( base!A5:A11 =base!$A$2)*( base!B5:B11 =1)*( base!G5:G11 ='0503130'!A16)*( base!H4:H10 =B16); base!L5:L11 ))} а вот так работает: {=СУММ(ЕСЛИ(( base!A4:A10 =base!$A$2)*( base!B4:B10 =1)*( base!G4:G10 =A16)*( base!H4:H10 =B16); base!L4:L10 ))} ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2008, 15:20:14 |
|
||
|
Ошибка в формуле?
|
|||
|---|---|---|---|
|
#18+
Продолжу тему создание пользовательской функции: Function balans_bud(d As Date, b As Integer, S As Integer, Ss As String, K As Integer) Dim Diap_d As String Dim Diap_b As String Dim Diap_S As String Dim Diap_Ss As String Dim Diap_K As String Dim diap_summa As String If Ss = "00" Then balans_bud={=СУММ(ЕСЛИ(Diap_d=d;ЕСЛИ(Diap_b=b;ЕСЛИ(Diap_S=S;ЕСЛИ(Dim Diap_Ss =Ss;diap_summa)))))} КАК правильно написать массив? Else End If End Function ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2008, 10:29:43 |
|
||
|
Ошибка в формуле?
|
|||
|---|---|---|---|
|
#18+
tuandreeva, если именно в этом виде, то формулу в кавычки и evaluate("формула") ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2008, 11:20:32 |
|
||
|
Ошибка в формуле?
|
|||
|---|---|---|---|
|
#18+
_slan_, если я напишу в "", то объявленные переменные не будут работать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2008, 11:32:40 |
|
||
|
Ошибка в формуле?
|
|||
|---|---|---|---|
|
#18+
tuandreeva, значит надо прерывать кавычки, использовать имя и продолжать кавычки. типа так: evaluate("..."& [имя] &"..") ps квадратные скобочки заменяют написание evaluate(имя) можно также использовать возможности range - range("имя") правда это если там только именованные диапазоны.. если именованные формулы, то видимо чуть посложнее: не просто [имя], а mid(2,names("имя").refersto,999) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2008, 12:05:32 |
|
||
|
Ошибка в формуле?
|
|||
|---|---|---|---|
|
#18+
извините, был невнимателен, посчитал, что имена определены в иксель.. имена переменных VBA даже в скобки заключать не надо.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2008, 12:08:03 |
|
||
|
Ошибка в формуле?
|
|||
|---|---|---|---|
|
#18+
Может есть другое решение? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2008, 12:47:31 |
|
||
|
Ошибка в формуле?
|
|||
|---|---|---|---|
|
#18+
tuandreeva, конечно есть. НО чем те не устраивают. В плане к чему стремиться? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2008, 14:13:28 |
|
||
|
Ошибка в формуле?
|
|||
|---|---|---|---|
|
#18+
-- some comments Function balans_bud(d As Date, b As Integer, S As Integer, Ss As String, K As Integer, diap_summa As String) Dim t As Integer Dim j As Integer j = 1 For t = 4 To 15 Step 1 If IsDate(Cells(t, 1).Value) = False Then 'проверка пустых ячеек Else If Cells(t, 1).Value < d Then 'проверка меньшей даты If Cells(t, 2).Value = b Then 'проверка бюджета If Cells(t, 7).Value = S Then 'проверка счета If Cells(t, 8).Value = Ss Then 'проверка субсчета balans_bud = balans_bud + Cells(t, 12).Value Debug.Print balans_bud End If End If End If End If End If Next End Function Когда в ячейку вставляю функцию, определенную пользователем, то в расчет берутся ячейки только с этого листа, хотя есть ссылки на другой лист. Cells(t, 1).Value : как мне описать эти ячейки? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2008, 15:00:30 |
|
||
|
Ошибка в формуле?
|
|||
|---|---|---|---|
|
#18+
-- some comments Function balans_bud(d As Date, b As Integer, S As Integer, Ss As String, K As Integer, diap_summa As String) Dim t As Integer Dim j As Integer j = 1 For t = 2 To 25 Step 1 If IsDate(Sheets("base").Cells(t, 1).Value) = False Then Else If Sheets("base").Cells(t, 1).Value < d Then If Sheets("base").Cells(t, 2).Value = b Then If Sheets("base").Cells(t, 7).Value = S Then If Sheets("base").Cells(t, 8).Value = Ss Then balans_bud = balans_bud + Sheets("base").Cells(t, 12).Value End If End If End If End If End If Next End Function Сделала так, но вот проблема: Если меняю цифры в ячейках Sheets("base").Cells(t, 12).Value ,то формула не перещитовается ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2008, 15:38:56 |
|
||
|
Ошибка в формуле?
|
|||
|---|---|---|---|
|
#18+
два пути 1 объявить функцию volatile 2 указать зависимость от ячеек, передав их в параметрах.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2008, 15:58:15 |
|
||
|
Ошибка в формуле?
|
|||
|---|---|---|---|
|
#18+
Пересчет не происходит: Private Sub Worksheet_Change(ByVal Target As Range) Application.Volatile End Sub ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2008, 08:47:49 |
|
||
|
Ошибка в формуле?
|
|||
|---|---|---|---|
|
#18+
tuandreeva, не здесь, а там : Function balans_bud(d As Date, b As Integer, S As Integer, Ss As String, K As Integer) Application.Volatile ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2008, 10:53:06 |
|
||
|
Ошибка в формуле?
|
|||
|---|---|---|---|
|
#18+
_slan_, НЕ работает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2008, 11:01:32 |
|
||
|
Ошибка в формуле?
|
|||
|---|---|---|---|
|
#18+
ps но кое-что вы при этом теряете, советую почитать справку по этому вопросу ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2008, 11:04:36 |
|
||
|
Ошибка в формуле?
|
|||
|---|---|---|---|
|
#18+
_slan_, Если я снова в ячейке прописываю эту формулу, то изменения происходят, но у меня 1000 ячеек, неужели все переписывать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2008, 11:04:59 |
|
||
|
Ошибка в формуле?
|
|||
|---|---|---|---|
|
#18+
_slan_ps но кое-что вы при этом теряете, советую почитать справку по этому вопросу Что теряю? Я все справку проштудировала ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2008, 11:09:15 |
|
||
|
Ошибка в формуле?
|
|||
|---|---|---|---|
|
#18+
tuandreeva, Я не знаю, где вы выигрываете, вводя UDF для столь элементарной задачи, но могу точно сказать, где вы проигрываете: 1) многократная потеря в скорости пересчета (особенно в случае с циклом) 2) никому ненужная летучесть (если пойдете по пути Application.Volatile или Worksheet_Change) 3) невозможность исп-я формулы если у пользователя не включены макросы Ранее предложенные вам формулы, прекрасно действуют на вашем листе, нужно просто немного больше внимания с вашей стороны, ну и попытаться понять как они работают ;-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2008, 13:55:21 |
|
||
|
Ошибка в формуле?
|
|||
|---|---|---|---|
|
#18+
KL (XL), Да, скорость падает резко. Выложила файл, если делать исправления на листе base. то очень сильно тормозит Как исправить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2008, 16:33:50 |
|
||
|
Ошибка в формуле?
|
|||
|---|---|---|---|
|
#18+
tuandreeva, 1) Файл не содержит написанной вами функции (UDF) 2) Параметры заданные для функции balans_bud(1,1,A15,B15,C15) в ячейках не вяжутся с опубликованным вами ранее кодом balans_bud(d As Date, b As Integer, S As Integer, Ss As String, K As Integer) 3) Непонятен смысл использования констант в первом и втором параметрах 4) У столбцов A, B, C листа 0503130 нет заголовков ни пояснений связи с базой В целом лишь частично понятна связь параметров функции balans_bud с данными листов base и servis :-O ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2008, 19:16:51 |
|
||
|
Ошибка в формуле?
|
|||
|---|---|---|---|
|
#18+
KL (XL), 1. На 0503130 и на base Дебет/Кредит (Счет)=A Дебет/Кредит (Субсчет)=В ЭКР=С 2. Функция balans_bud выбирает числа, по объявленным параметрам с листа base и вставляет в ячейку. 3. Даты на листе servis будут меняться. Я больше не знаю,что делать. Помогите мне пожайлуста. И нужно ускорить время расчета при изменении данных на листе base ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2008, 08:52:02 |
|
||
|
Ошибка в формуле?
|
|||
|---|---|---|---|
|
#18+
tuandreeva, Вам же поправили Ваши формулы - они прекрасно работают при правильном применении я даже в файле выкладывал.. Но Вы каждый раз задаете другие вопросы - конечно, хозяин-барин, Вы спрашиваете - мы отвечаем, но эффективнее сосредоточиться на одном из способов и довести его до ума. Вам надо почитать про формулы массива и относительные/абсолютные ссылки ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2008, 09:11:56 |
|
||
|
Ошибка в формуле?
|
|||
|---|---|---|---|
|
#18+
Простите мою резкую перемену, но у меня будет 23 формы, по несколько листов каждая. Чтобы прописать в каждой форме , в каждой ячейке формулу недно очень много времени. А если где-то ошибусь? Хотелось бы исправлять только в обном месте. И потом каждый пользователь должен будет заполнить только 1 лист-base. а данные разложатся по формам сами ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2008, 09:43:53 |
|
||
|
Ошибка в формуле?
|
|||
|---|---|---|---|
|
#18+
tuandreeva, 1) см. пример 2) Что-то мне подсказывает, что данные ЭКР на листе 0503130 в столбце [C] не проставлены 3) так и не понял как вы собираетесь использовать даты с листа servis , особенно как вы их привяжете к столбцу [A] листа base ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2008, 10:33:09 |
|
||
|
Ошибка в формуле?
|
|||
|---|---|---|---|
|
#18+
tuandreeva, существует такая вещь, как шаблон.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2008, 10:38:30 |
|
||
|
Ошибка в формуле?
|
|||
|---|---|---|---|
|
#18+
KL (XL)tuandreeva, 1) см. пример 2) Что-то мне подсказывает, что данные ЭКР на листе 0503130 в столбце [C] не проставлены 3) так и не понял как вы собираетесь использовать даты с листа servis , особенно как вы их привяжете к столбцу [A] листа base 2) данные ЭКР на листе 0503130 в столбце [C] не должны быть проставлены, т.к. из листа base собираются только данные счета : пример 101 субсчет может быть любой и экр тоже любой, а где цифры проставлены, то только данные по проставленным цифрам ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2008, 14:22:16 |
|
||
|
Ошибка в формуле?
|
|||
|---|---|---|---|
|
#18+
Как я не крути, а все равно очень много времени занимает заполнение листа base. Вкладываю пример. Прошу совета: Как ускорить процесс заполнения листа base? Формулы будут на всех листах файла ссылаться на лист base ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2008, 11:29:13 |
|
||
|
Ошибка в формуле?
|
|||
|---|---|---|---|
|
#18+
tuandreevaКак я не крути, а все равно очень много времени занимает заполнение листа base. Вкладываю пример. Прошу совета: Как ускорить процесс заполнения листа base? Формулы будут на всех листах файла ссылаться на лист base Не вложила файл ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2008, 11:29:56 |
|
||
|
Ошибка в формуле?
|
|||
|---|---|---|---|
|
#18+
Попутный Вопрос: какая функция в exel Такая же как like(1*)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2008, 15:37:01 |
|
||
|
|

start [/forum/topic.php?all=1&fid=61&tid=2179995]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
153ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
| others: | 234ms |
| total: | 467ms |

| 0 / 0 |
