Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.12.2010, 21:41   #11
MCH
Форумчанин
 
Регистрация: 21.11.2010
Сообщений: 326
По умолчанию

=СУММПРОИЗВ(Ч(A1:A19>A2:A20))
это аналогичная функция той которую предложил IgorGO, только вместо "<" используется ">", как требуется в условиях

но на май взгляд задача несколько сложнее.
формула массива:
Код:
=СУММ((A1:A20>ТРАНСП(A1:A20))*(СТРОКА(A1:A20)<ТРАНСП(СТРОКА(A1:A20))))
или соответствующая UDF
Код:
Function Calc123(rg As Range) As Long
  Dim i As Long, j As Long, ar(1 To 20), c As Long
  For i = 1 To 20
   ar(i) = rg.Cells(i).Value
  Next i
  c = 0
  For i = 1 To 19
    For j = i + 1 To 20
        If ar(i) > ar(j) Then c = c + 1
  Next j, i
  Calc123 = c
End Function
Вложения
Тип файла: rar задачи.rar (9.0 Кб, 3 просмотров)

Последний раз редактировалось MCH; 07.12.2010 в 21:59.
MCH вне форума Ответить с цитированием
Старый 16.12.2010, 11:32   #12
Bombastick
Пользователь
 
Аватар для Bombastick
 
Регистрация: 06.12.2010
Сообщений: 26
По умолчанию

Малость не работает... (2я задача)
Dim x() As Integer
Dim N As Integer
Private Sub CB_1_Click()
Dim A, B, i As Integer
N = Val(TB_N.Value)
ReDim x(1 To N) As Integer
A = -20
B = 30
Randomize
For i = 1 To N
x(i) = Int((B - A) * Rnd + A)
Next i
For i = 1 To N
Cells(i, 1) = x(i)
Next i
End Sub
Первая часть это создание столбца с которым нужно работать.
Private Sub CB_2_Click()
Function Calc123(rg As Range) As Long
Dim i As Long, j As Long, ar(1 To 20), c As Long
For i = 1 To 20
ar(i) = rg.Cells(i).Value
Next i
c = 0
For i = 1 To 19
For j = i + 1 To 20
If ar(i) > ar(j) Then c = c + 1
Next j, i
Calc123 = c
End Function
а во второй части чего то не хватает и не могу додуматься чего.
не получается что то файл закинуть я сфоткал http://s002.radikal.ru/i200/1012/8a/68f1f4c07b76.jpg

Последний раз редактировалось Bombastick; 16.12.2010 в 11:35.
Bombastick вне форума Ответить с цитированием
Старый 16.12.2010, 11:36   #13
Bombastick
Пользователь
 
Аватар для Bombastick
 
Регистрация: 06.12.2010
Сообщений: 26
По умолчанию

с 4й задачей такие же проблемы, функция есть вроде все есть, оформить не получается по человечески что бы работала в духе 2й задачи((
P.s работы делаю в 2003 экселе

Последний раз редактировалось Bombastick; 16.12.2010 в 11:45.
Bombastick вне форума Ответить с цитированием
Старый 16.12.2010, 18:31   #14
Bombastick
Пользователь
 
Аватар для Bombastick
 
Регистрация: 06.12.2010
Сообщений: 26
По умолчанию

я тут думал добавить окно вывода ко второй части функции, но чет не сработало видимо не то что то о_о

Последний раз редактировалось Bombastick; 17.12.2010 в 12:07.
Bombastick вне форума Ответить с цитированием
Старый 17.12.2010, 12:08   #15
Bombastick
Пользователь
 
Аватар для Bombastick
 
Регистрация: 06.12.2010
Сообщений: 26
По умолчанию

или где то ошибка в функции не пойму
Bombastick вне форума Ответить с цитированием
Старый 19.12.2010, 11:31   #16
Bombastick
Пользователь
 
Аватар для Bombastick
 
Регистрация: 06.12.2010
Сообщений: 26
По умолчанию

ааа спасите)) никто не может решить(((
Bombastick вне форума Ответить с цитированием
Старый 19.12.2010, 13:27   #17
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,858
По умолчанию

Цитата:
Сообщение от Bombastick Посмотреть сообщение
никто не может решить(((
Решить могут многие - но немногие любят студентов-халявщиков...

Что конкретно не получается сделать?
EducatedFool вне форума Ответить с цитированием
Старый 19.12.2010, 16:49   #18
Bombastick
Пользователь
 
Аватар для Bombastick
 
Регистрация: 06.12.2010
Сообщений: 26
По умолчанию

Малость не работает... (2я задача)
Dim x() As Integer
Dim N As Integer
Private Sub CB_1_Click()
Dim A, B, i As Integer
N = Val(TB_N.Value)
ReDim x(1 To N) As Integer
A = -20
B = 30
Randomize
For i = 1 To N
x(i) = Int((B - A) * Rnd + A)
Next i
For i = 1 To N
Cells(i, 1) = x(i)
Next i
End Sub


Первая часть это создание столбца с которым нужно работать. Он работает

Private Sub CB_2_Click()
Function Calc123(rg As Range) As Long
Dim i As Long, j As Long, ar(1 To 20), c As Long
For i = 1 To 20
ar(i) = rg.Cells(i).Value
Next i
c = 0
For i = 1 To 19
For j = i + 1 To 20
If ar(i) > ar(j) Then c = c + 1
Next j, i
Calc123 = c
End Function
Во второй функции чего т не хватает не пойму чего. неполучается запустить по клику прогу. но вроде все правильно написанно
не получается что то файл закинуть я сфоткал http://s002.radikal.ru/i200/1012/8a/68f1f4c07b76.jpg
Bombastick вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
найти сумму цифр заданного натурального числа dima.m Microsoft Office Excel 6 06.12.2010 11:30
C++/ Все способы представления заданного натурального числа N в виде суммы двух кубов натуральных чисел / acko Помощь студентам 1 25.09.2010 12:15
Паскаль. Из заданного числа найти сумму его цифр Matlashov Помощь студентам 8 26.11.2009 14:27
вывод на экран наибольшего делителя натурального числа N, меньше заданного натурального M Fatality Помощь студентам 2 03.12.2008 23:27