|
|
|
Ошибка в формуле?
|
|||
|---|---|---|---|
|
#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 |
|
||
|
|

start [/forum/topic.php?fid=61&fpage=208&tid=2179995]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
67ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
60ms |
get tp. blocked users: |
1ms |
| others: | 235ms |
| total: | 404ms |

| 0 / 0 |
