Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Комбинации из 30 ячеек - Мир MS Excel

  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_, DrMini  
Комбинации из 30 ячеек
AdwordsDirect Дата: Четверг, 01.03.2018, 12:13 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 148
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Здравствуйте, почему-то не нашёл подобной темы на форуме, может плохо искал.
Как получить все комбинации из 30 ячеек столбца А?
К сообщению приложен файл: _Microsoft_Offi.xlsx (8.5 Kb)
 
Ответить
СообщениеЗдравствуйте, почему-то не нашёл подобной темы на форуме, может плохо искал.
Как получить все комбинации из 30 ячеек столбца А?

Автор - AdwordsDirect
Дата добавления - 01.03.2018 в 12:13
Апострофф Дата: Четверг, 01.03.2018, 12:22 | Сообщение № 2
Группа: Проверенные
Ранг: Обитатель
Сообщений: 467
Репутация: 129 ±
Замечаний: 0% ±

Excel 1997
AdwordsDirect, покажите желаемый результат на примере 3-4 ячеек.
 
Ответить
СообщениеAdwordsDirect, покажите желаемый результат на примере 3-4 ячеек.

Автор - Апострофф
Дата добавления - 01.03.2018 в 12:22
AdwordsDirect Дата: Четверг, 01.03.2018, 13:29 | Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 148
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
2 варианта желаемых указал, если не затруднит.
К сообщению приложен файл: 8628381.xlsx (10.1 Kb)
 
Ответить
Сообщение2 варианта желаемых указал, если не затруднит.

Автор - AdwordsDirect
Дата добавления - 01.03.2018 в 13:29
Апострофф Дата: Четверг, 01.03.2018, 13:49 | Сообщение № 4
Группа: Проверенные
Ранг: Обитатель
Сообщений: 467
Репутация: 129 ±
Замечаний: 0% ±

Excel 1997
1-й вариант
[vba]
Код
Sub main()
Columns(2).ClearContents
For i = 1 To 32
  For j = 1 To 32
    If i <> j Then
      r = r + 1
      Cells(r, 2) = Cells(i, 1) & " " & Cells(j, 1)
    End If
  Next
Next
End Sub
[/vba]
Второй не понял, покажите 2-3 последних сочетаний для первого столбца и для последнего.
 
Ответить
Сообщение1-й вариант
[vba]
Код
Sub main()
Columns(2).ClearContents
For i = 1 To 32
  For j = 1 To 32
    If i <> j Then
      r = r + 1
      Cells(r, 2) = Cells(i, 1) & " " & Cells(j, 1)
    End If
  Next
Next
End Sub
[/vba]
Второй не понял, покажите 2-3 последних сочетаний для первого столбца и для последнего.

Автор - Апострофф
Дата добавления - 01.03.2018 в 13:49
Nic70y Дата: Четверг, 01.03.2018, 14:15 | Сообщение № 5
Группа: Друзья
Ранг: Экселист
Сообщений: 9130
Репутация: 2415 ±
Замечаний: 0% ±

Excel 2010
Цитата Апострофф, 01.03.2018 в 13:49, в сообщении № 4 ()
1-й вариант
формула
Код
=ИНДЕКС(A:A;ОКРУГЛВВЕРХ(СТРОКА(A1)/31;)+1)&" "&ИНДЕКС(A:A;ОСТАТ(СТРОКА(A1)-1;31)+2+(ОСТАТ(СТРОКА(A1)-1;31)+2>=ПОИСКПОЗ(ИНДЕКС(A:A;ОКРУГЛВВЕРХ(СТРОКА(A1)/31;)+1);A:A;)))
К сообщению приложен файл: 18.xlsx (23.9 Kb)


ЮMoney 41001841029809

Сообщение отредактировал Nic70y - Четверг, 01.03.2018, 14:17
 
Ответить
Сообщение
Цитата Апострофф, 01.03.2018 в 13:49, в сообщении № 4 ()
1-й вариант
формула
Код
=ИНДЕКС(A:A;ОКРУГЛВВЕРХ(СТРОКА(A1)/31;)+1)&" "&ИНДЕКС(A:A;ОСТАТ(СТРОКА(A1)-1;31)+2+(ОСТАТ(СТРОКА(A1)-1;31)+2>=ПОИСКПОЗ(ИНДЕКС(A:A;ОКРУГЛВВЕРХ(СТРОКА(A1)/31;)+1);A:A;)))

Автор - Nic70y
Дата добавления - 01.03.2018 в 14:15
AdwordsDirect Дата: Четверг, 01.03.2018, 15:10 | Сообщение № 6
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 148
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Спасибо за первый вариант, лайк поставил.
А по поводу второго,
логика комбинаций в том, что "перемножаются" ячейки между собой все, кроме тех, что находятся в одном столбце друг с другом.
 
Ответить
СообщениеСпасибо за первый вариант, лайк поставил.
А по поводу второго,
логика комбинаций в том, что "перемножаются" ячейки между собой все, кроме тех, что находятся в одном столбце друг с другом.

Автор - AdwordsDirect
Дата добавления - 01.03.2018 в 15:10
Апострофф Дата: Четверг, 01.03.2018, 15:39 | Сообщение № 7
Группа: Проверенные
Ранг: Обитатель
Сообщений: 467
Репутация: 129 ±
Замечаний: 0% ±

Excel 1997
Примерно так можно, заголовок удалите только, данные с первой строки должны быть
[vba]
Код
Sub asd()
Set cr = [a1].CurrentRegion
c = cr.Columns.Count + 2
Columns(c).ClearContents
For Each c1 In cr
  If c1 <> "" Then
    For Each c2 In cr
      If c2 <> "" Then
        If c1.Column <> c2.Column Then
          r = r + 1
          Cells(r, c) = c1 & " " & c2
        End If
      End If
    Next
  End If
Next
End Sub
[/vba]
 
Ответить
СообщениеПримерно так можно, заголовок удалите только, данные с первой строки должны быть
[vba]
Код
Sub asd()
Set cr = [a1].CurrentRegion
c = cr.Columns.Count + 2
Columns(c).ClearContents
For Each c1 In cr
  If c1 <> "" Then
    For Each c2 In cr
      If c2 <> "" Then
        If c1.Column <> c2.Column Then
          r = r + 1
          Cells(r, c) = c1 & " " & c2
        End If
      End If
    Next
  End If
Next
End Sub
[/vba]

Автор - Апострофф
Дата добавления - 01.03.2018 в 15:39
AdwordsDirect Дата: Четверг, 01.03.2018, 22:11 | Сообщение № 8
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 148
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Красота, нет слов, спасибо. Можно комментарий по поводу, "что и как" менять в скрипте в зависимости от количества столбца вводных данных и так далее.
Спасибо.
 
Ответить
СообщениеКрасота, нет слов, спасибо. Можно комментарий по поводу, "что и как" менять в скрипте в зависимости от количества столбца вводных данных и так далее.
Спасибо.

Автор - AdwordsDirect
Дата добавления - 01.03.2018 в 22:11
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2025 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!