Excel счастливый или не счастливый билет

Счастливые билеты

MCH

Дата: Пятница, 06.07.2012, 16:00 |
Сообщение № 1

Группа: Админы

Ранг: Старожил

Сообщений: 2002


Репутация:

751

±

Замечаний:
±


Очень часто, когда езжу на общественном транспорте, решаю задачку с цифрами из билета.

Сама задачка:
Автобусный билет считается счастливым, если между его цифрами можно в нужных местах расставить знаки четырёх арифметических действий и скобки так, чтобы значение полученного выражения равнялось 100, необходимо поставить 5 знаков (между каждой цифрой), последовательность вычислений — любая, регламентируется скобками.

Как можно решить задачу, так чтобы при вводе числа от 000000 до 999999 получить формулу, в результате которой получается число 100
Например, есть число 123456,
100 можно получить по формуле: =1+(2+3+4)*(5+6)

Для сведения числа:
012345, 123456, 234567, 345678, 456789, 567890, 098765, 987654, 876543, 765432, 654321, 543210, 444444, 555555, 777777, 999999
имеют решения

Приветствуются любые варианты решения: формулами, макросами (с использованием Evaluate и без) или просто в уме.

1. Для начала, нужно получить решения для всех вышеперечисленных чисел, можно решить и без программирования
2. Сколько всего таких чисел в 1 млн. билетов, т.е. какова вероятность получить «счастливый» белет?
3. Какова максимальная последовательность подряд идущих «счастливых» билетов?

На 2 и 3 вопрос точно ответить нельзя без полного прорешивания всего миллиона билетов. Буду очень удивлен, если ктото даст ответ на эти вопросы менее чем через неделю, по крайне мере у меня ушло на это больше недели (правда компьютер слабенький).

 

Ответить

ZORRO2005

Дата: Пятница, 06.07.2012, 16:58 |
Сообщение № 2

Группа: Друзья

Ранг: Обитатель

Сообщений: 382


Репутация:

148

±

Замечаний:
0% ±


Excel2010

Quote (MCH)

Для сведения числа: 012345, 123456, 234567, 345678, 456789, 567890, 098765, 987654, 876543, 765432, 654321, 543210, 444444, 555555, 777777, 999999 имеют решения

Получается, что билет 181256 тоже счастливый, т.к. 1+(8-1+2)*(5+6)=100

Сообщение отредактировал ZORRO2005Пятница, 06.07.2012, 17:04

 

Ответить

MCH

Дата: Пятница, 06.07.2012, 17:07 |
Сообщение № 3

Группа: Админы

Ранг: Старожил

Сообщений: 2002


Репутация:

751

±

Замечаний:
±


Quote (ZORRO2005)

Получается, что билет 181256 тоже счастливый

Да

 

Ответить

ZORRO2005

Дата: Пятница, 06.07.2012, 21:24 |
Сообщение № 4

Группа: Друзья

Ранг: Обитатель

Сообщений: 382


Репутация:

148

±

Замечаний:
0% ±


Excel2010

1. Решено формулами.

Выложу те, где всего 1 вариант сложения:
456789: (4+5)*(6+7)-8-9
567890: 5+(6+7)*8-9-0
098765: 0-9+8*(7+6)+5
765432: 7*(6+5+4)-3-2
654321: (6+5)*(4+3+2)+1
777777: (7+7)*(7+7/7/7)

Миша, билеты ниже моя формула посчитала несчастливыми:
123456
234567
345678
987654
876543

Quote (MCH)

необходимо поставить 5 знаков (между каждой цифрой)

Еще может быть минус перед 1-ой цифрой. Я его не учитывал.
Да, и двойные скобки тоже.

Сообщение отредактировал ZORRO2005Пятница, 06.07.2012, 22:36

 

Ответить

MCH

Дата: Пятница, 06.07.2012, 21:45 |
Сообщение № 5

Группа: Админы

Ранг: Старожил

Сообщений: 2002


Репутация:

751

±

Замечаний:
±


Quote (ZORRO2005)

Миша, билеты ниже моя формула посчитала несчастливыми:
123456

пример с числом 123456 приведен в 1 посте
234567: =2*(3+(4+5)*6-7)

Quote (ZORRO2005)

Еще может быть минус перед 1-ой цифрой

Я не использовал данный прием, т.к это не оговорено в условиях

Quote (ZORRO2005)

Да, и двойные скобки тоже

скобки могут быть одинарные, двойные, тройные, четвертные, т.к последовательность выполнения математических действий может быть любая

моя UDF возврашает не в упрощенном варианте, а со всеми вложениями скобок::

=1+(((2+3)+4)*(5+6))
=2*((3+((4+5)*6))-7)
дописал функцию, возвращает в сокращенном формате:
123456: =1+(2+3+4)*(5+6)
234567: =2*(3+(4+5)*6-7)

Сообщение отредактировал MCHСуббота, 07.07.2012, 14:12

 

Ответить

ZORRO2005

Дата: Пятница, 06.07.2012, 21:48 |
Сообщение № 6

Группа: Друзья

Ранг: Обитатель

Сообщений: 382


Репутация:

148

±

Замечаний:
0% ±


Excel2010

Понял, исправляюсь:

345678:
(3+4-5)*(6*7+8)
3+(4+5+6)*7-8
987654:
9+(8+7)*6+5-4
(9+8+7+6-5)*4
9*8+7*(6-5)*4
(9*8-7*6-5)*4
9*8+7/(6-5)*4
876543:
8*(7+6)-(5-4+3)
8*(7+6)-5+4-3
(8*(7*6-5)+4)/3
(8*(7+6*5)+4)/3

Сообщение отредактировал ZORRO2005Пятница, 06.07.2012, 22:39

 

Ответить

MCH

Дата: Пятница, 06.07.2012, 22:45 |
Сообщение № 7

Группа: Админы

Ранг: Старожил

Сообщений: 2002


Репутация:

751

±

Замечаний:
±


по большому счету нет необходимости находить все решения для каждого отдельного числа, достаточно найти хотя бы одно

 

Ответить

MCH

Дата: Понедельник, 09.07.2012, 08:52 |
Сообщение № 8

Группа: Админы

Ранг: Старожил

Сообщений: 2002


Репутация:

751

±

Замечаний:
±


Quote (ZORRO2005)

Понял, исправляюсь

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

PS: данную задачу решал несколько лет назад, когда на VBA не мог еще ни строчки написать
Доступным для меня был тогда только QBasic, при этом не исползовал функцию Evaluate, т.к. ее там нет

Недавно реализовал решение на VBA, здесь значительно больше возможностей (Хотя с Evaluate расчет ведется в 10 раз медленнее).
Кроме того, сделал расчет чисто на формулах (использовал 5! * 4^5 формул), файл получился очень тяжелым но считает быстро.
А также вариант с помощью макрофункции ВЫЧЕСЛИТЬ() где нет необходимости прописывать все 122880 формул, обошелся только 120, файл при этом «весит» 20 кб, если интересно могу выложить.

Сообщение отредактировал MCHПонедельник, 09.07.2012, 11:13

 

Ответить

Serge_007

Дата: Понедельник, 09.07.2012, 10:24 |
Сообщение № 9

Группа: Админы

Ранг: Местный житель

Сообщений: 15888


Репутация:

2623

±

Замечаний:
±


Excel 2016

Quote (MCH)

если интересно могу выложить

Интересно, выкладывай


ЮMoney:41001419691823 | WMR:126292472390

 

Ответить

MCH

Дата: Понедельник, 09.07.2012, 11:09 |
Сообщение № 10

Группа: Админы

Ранг: Старожил

Сообщений: 2002


Репутация:

751

±

Замечаний:
±


Quote (Serge_007)

Интересно, выкладывай

Число нужно вводить в ячейку A1
Расчет производится несколько секунд

К сообщению приложен файл:

100__2.xls
(19.0 Kb)

Сообщение отредактировал MCHПонедельник, 09.07.2012, 15:43

 

Ответить

Serge_007

Дата: Понедельник, 09.07.2012, 11:14 |
Сообщение № 11

Группа: Админы

Ранг: Местный житель

Сообщений: 15888


Репутация:

2623

±

Замечаний:
±


Excel 2016

Quote (MCH)

Число нужно вводить в ячейку A1

Спс, прикольно


ЮMoney:41001419691823 | WMR:126292472390

 

Ответить

ZORRO2005

Дата: Понедельник, 09.07.2012, 14:18 |
Сообщение № 12

Группа: Друзья

Ранг: Обитатель

Сообщений: 382


Репутация:

148

±

Замечаний:
0% ±


Excel2010

Решал формулами+ВЫЧИСЛИТЬ()+фильтры
Получилось 4^5*37 строк
Я посчитал, что может быть 37 вариантов расстановки скобок.
Если ошибся, напишите какой вариант упустил. Поправить — 2 мин.

Файл xls весит 36 MB.
В архиве 4 MB:
Билеты.rar.html
Пароль:ZORRO2005

Сообщение отредактировал ZORRO2005Понедельник, 09.07.2012, 15:03

 

Ответить

ZORRO2005

Дата: Понедельник, 09.07.2012, 14:50 |
Сообщение № 13

Группа: Друзья

Ранг: Обитатель

Сообщений: 382


Репутация:

148

±

Замечаний:
0% ±


Excel2010

Quote (Serge_007)

Спс, прикольно

Я бы сказал «Круто!»

 

Ответить

MCH

Дата: Понедельник, 09.07.2012, 15:46 |
Сообщение № 14

Группа: Админы

Ранг: Старожил

Сообщений: 2002


Репутация:

751

±

Замечаний:
±


Quote (ZORRO2005)

Я посчитал, что может быть 37 вариантов расстановки скобок

Я посчитал что вариантов должно быть 120, исходя из количества престановок последовательности выполнения математических действий (5! = 120)
Проверил на уникальность расставленные скобки — плучилось 42.
Это значительно сокращает расчеты, почти в 3 раза.
Файл выше перезалил

 

Ответить

MCH

Дата: Понедельник, 09.07.2012, 22:24 |
Сообщение № 15

Группа: Админы

Ранг: Старожил

Сообщений: 2002


Репутация:

751

±

Замечаний:
±


Quote (ZORRO2005)

Решал формулами+ВЫЧИСЛИТЬ()+фильтры

Интересное решение, но не все варианты ноходит.
Например число 164676 не нашло, хотя решение есть =(1-6)*((4-6)*7-6)

Сделал вариант на формулах без ВЫЧИСЛИТЬ(), работает очень быстро

PS: мне удолось найти 716270 таких чисел, т.е вероятность получить «счастливый» билет более 70%
Даю ссылку на текстовый файл с перечислением всех чисел (в архиве 4,26 МБ)

К сообщению приложен файл:

100__.xlsb
(683.8 Kb)

Сообщение отредактировал MCHПонедельник, 09.07.2012, 23:55

 

Ответить

ZORRO2005

Дата: Вторник, 10.07.2012, 00:32 |
Сообщение № 16

Группа: Друзья

Ранг: Обитатель

Сообщений: 382


Репутация:

148

±

Замечаний:
0% ±


Excel2010

Quote (MCH)

Интересное решение, но не все варианты ноходит. Например число 164676 не нашло, хотя решение есть =(1-6)*((4-6)*7-6)

МСН, ты же понимаешь, что добавив еще 6 вариантов для скобок: 37+6-1(пустой) найдет все варианты.

Сообщение отредактировал ZORRO2005Вторник, 10.07.2012, 00:33

 

Ответить

MCH

Дата: Вторник, 10.07.2012, 00:53 |
Сообщение № 17

Группа: Админы

Ранг: Старожил

Сообщений: 2002


Репутация:

751

±

Замечаний:
±


Quote (ZORRO2005)

МСН, ты же понимаешь, что добавив еще 6 вариантов для скобок: 37+6-1(пустой) найдет все варианты

Сергей, я не смог разобратся, как добавить в твоем файле дополнительные варианты растановок скобок, например тройные или четветные

 

Ответить

Userr-Lim

Дата: Вторник, 04.12.2012, 13:35 |
Сообщение № 18

55+55-(5+5)=100

 

Ответить

MCH

Дата: Вторник, 22.02.2022, 08:10 |
Сообщение № 19

Группа: Админы

Ранг: Старожил

Сообщений: 2002


Репутация:

751

±

Замечаний:
±


Вариант решения для любого числа (от двухзначного до 8ми значного)
С любыми действиями (+, -, *, /)
В любой последовательности вычисления (приоритет действий определяется скобками)
С любой «склейкой» цифр (разделение числа не только на цифры, но и на числа / группы цифр)
Можно искать не только 100, но и любое другое число

Решение в Excel на VBA, без Evaluate
Для 8ми значных чисел решается за приемлемое время, девятизначные уже долго перебирает

PS: Почти 10 лет прошло

К сообщению приложен файл:

100-VBA.xls
(50.5 Kb)

 

Ответить

bmv98rus

Дата: Суббота, 26.02.2022, 08:41 |
Сообщение № 20

Группа: Друзья

Ранг: Участник клуба

Сообщений: 4009


Репутация:

760

±

Замечаний:
0% ±


Excel 2013/2016

уж и билеты то отменили почти везде :-)


Замечательный Временно просто медведь , процентов на 20.

 

Ответить

Занимательная задачка «Несчастливый билет»

Время на прочтение
3 мин

Количество просмотров 17K

image Думаю всем с детства знакома задача о счастливом билете. Однако чаще всего поездка в автобусе занимает гораздо больше времени, чем время, потраченное на суммирование первых и последних трех цифр.

И чтобы развлечь себя до конца поездки, я изобрел концепт «Несчастливого билета». Билета, у которого ни одно число из множества значений, полученного при помощи первых трех цифр, не совпадет ни с одним числом из множества значений, полученного при помощи последних трех цифр. Подробности в условии задачи.

Условие задачи

Найти все значения из 6 цифр, для которых ни одно из значений множества, полученного из первых трех цифр, не совпадет ни с одним значением множества из последних трех цифр.

Множество значений для каждой триады нужно получить:

  • Применяя перестановку цифр в пределах триады
  • Выполняя арифметические действия между цифрами: +, -, *, /
  • Используя скобки.
  • Применяя в качестве значений множества только целые числа

Пример

Билет: 983060

Множество значений триады: 983 [96, 33, 2, 3, 35, 99, 4, 69, 5, 75, 11, 45, 14, 15, 48, 51, 19, 20, 216, 24]
Множество значений триады: 060 [0, 6]

Общего значения нет — это несчастливый билет.

P.S. Опускаю отрицательные значения, так как для каждого отрицательного значения найдется такое же положительное

Таким образом, если вы до конца поездки не смогли найти общее число для первых и последних трех цифр, используя действия из условия, значит вам попался несчастливый билет! Или у вас не очень с математикой.

Мой вариант решения задачи

Выкладывать весь код не вижу смысла, постараюсь объяснить главное.

Список всех комбинаций из трех цифр — 1000 штук. Набор, в который будут складываться найденные билеты.

   List<Combination> combinations = new ArrayList<>(1000);
   Set<String> tickets = new HashSet<>();

Для каждого числа из множества значений одной комбинации, проверяем есть ли такое число в множестве значений другой комбинаций.

Пока общее значение не найдено, добавляем строку, означающую наш билет, в набор.
Как только значение найдется, удаляем билет из набора и переходим к следующему сравнению.

for (Combination comb1 : combinations)
        {
            for (Combination comb2 : combinations)
            {
                for (Integer x : comb1.getValues())
                {
                    if (comb2.getValues().contains(x))
                    {
                        tickets.remove(comb1.toString() + comb2.toString());
                        break;
                    }
                    else
                    {
                        tickets.add(comb1.toString() + comb2.toString());
                    }
                }
            }
        }

Привожу метод, вычисляющий множество значений для каждой комбинации:
(Метод выполняется для каждой перестановки 3 цифр комбинации)

 private void countValues(int a, int b, int c)
    {
        //Sum
        addValue(a + b + c);
        addValue(a + b - c);
        addValue(a + b * c);
        addValue((a + b) * c);

        if (c != 0 && b % c == 0) {addValue(a + b / c);}
        if (c != 0 && (a + b) % c == 0) { addValue((a + b) / c); }

        //Subtraction
        addValue(a - b + c);
        addValue(a - b - c);
        addValue(a - b * c);
        addValue((a - b) * c);

        if (c != 0 && b % c == 0) {addValue(a - b / c);}
        if (c != 0 && (a - b) % c == 0) {addValue((a - b) / c);}

        //Multiplication
        addValue(a * b + c);
        addValue(a * b - c);
        addValue(a * (b - c));
        addValue(a * b * c);

        if (c != 0)
        {
            double x = (double)a * (double)b / (double)c;

            if (isInteger(x)) { addValue((int)x); }
        }

        if (c != 0)
        {
            double x = (double)a * (double)b / (double)c;

            if (isInteger(x)) { addValue((int)x); }
        }

        //Division

        if (b != 0 && a % b == 0) { addValue(a / b + c); }
        if (b + c != 0 && a % (b + c) == 0) { addValue(a / (b + c)); }

        if (b != 0 && a % b == 0) { addValue(a / b - c); }
        if (b - c != 0 && a % (b - c) == 0) { addValue(a / (b - c)); }

        if (b != 0)
        {
            double x = (double)a / (double)b * (double)c;

            if (isInteger(x)) { addValue((int)x); }
        }

        if (b != 0 && c != 0)
        {
            double x = (double)a / (double)b / (double)c;

            if (isInteger(x)) { addValue((int)x); }
        }
    }

Итого: 23088 билетов.

Счастливый билет: каждый 18
Несчастливый билет: каждый 43

Спасибо за внимание!

0 / 0 / 0

Регистрация: 19.05.2018

Сообщений: 6

1

Получить все шестизначные счастливые номера (где сумма первых трех цифр равна сумме последних трех цифр)

02.06.2018, 19:57. Показов 2373. Ответов 4


Студворк — интернет-сервис помощи студентам

Получить все шестизначные счастливые номера. Счастливым
называют такое шестизначное число, в котором сумма его первых трех цифр
равна сумме его последних трех цифр. Определить функцию для расчета суммы
цифр трехзначного числа.
Не понимаю, как работает функция



0



Остап Бонд

Заблокирован

02.06.2018, 20:19

2

Цитата
Сообщение от Sh_Ser
Посмотреть сообщение

Не понимаю, как работает функция

Читайте букварь.

Цитата
Сообщение от Sh_Ser
Посмотреть сообщение

Определить функцию для расчета суммы

Определил-

Visual Basic
1
2
3
4
5
6
7
Function H6&(B&)
Dim I&
For I = 1 To 6
  H6 = H6 + ((I < 4) * 2 + 1) * B Mod 10
  B = B  10
Next I
End Function



1



Narimanych

2628 / 1634 / 744

Регистрация: 23.03.2015

Сообщений: 5,135

02.06.2018, 22:26

3

Sh_Ser,

Как вариант :

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Sub Lucky_Ticket()
Dim N()
m = 1
ReDim N(m)
For X = 100000 To 999999
   A1 = X  100000
   A2 = (X Mod 100000)  10000
   A3 = ((X Mod 100000) Mod 10000)  1000
   A4 = (((X Mod 100000) Mod 10000) Mod 1000)  100
   A5 = ((((X Mod 100000) Mod 10000) Mod 1000) Mod 100)  10
   A6 = ((((X Mod 100000) Mod 10000) Mod 1000) Mod 100) Mod 10
 
   If A1 + A2 + A3 = A4 + A5 + A6 Then
     N(m - 1) = X
     m = m + 1
     ReDim Preserve N(m)
   End If
Next
Range("A1").Resize(UBound(N) - 1, 1).Value = Application.WorksheetFunction.Transpose(N)
 
End Sub



1



0 / 0 / 0

Регистрация: 19.05.2018

Сообщений: 6

10.06.2018, 16:34

 [ТС]

4

Не понимаю… Нужна функция, которая считает сумму трех чисел. Дальше нужно написать программу, которая определяет счастливый или несчастливый билет.



0



Alex77755

11482 / 3773 / 677

Регистрация: 13.02.2009

Сообщений: 11,145

10.06.2018, 16:47

5

Visual Basic
1
2
3
4
5
6
7
Sub test()
    MsgBox Сумма_трёх_чисел(4, 5, 6)
End Sub
 
Function Сумма_трёх_чисел(Число1, Число2, Число3)
    Сумма_трёх_чисел = Число1 + Число2 + Число3
End Function



0



Excel для Microsoft 365 Excel для Microsoft 365 для Mac Excel для Интернета Excel 2021 Excel 2021 для Mac Excel 2019 Excel 2019 для Mac Excel 2016 Excel 2016 для Mac Excel 2013 Excel 2010 Excel 2007 Excel для Mac 2011 Excel Starter 2010 Еще…Меньше

В этой статье описаны синтаксис формулы и использование функции СТОШYX в Microsoft Excel.

Описание

Возвращает стандартную ошибку предсказанных значений y для каждого значения x в регрессии. Стандартная ошибка — это мера ошибки предсказанного значения y для отдельного значения x.

Синтаксис

СТОШYX(известные_значения_y;известные_значения_x)

Аргументы функции СТОШYX описаны ниже.

  • Известные_значения_y    Обязательный. Массив или диапазон зависимых точек данных.

  • Известные_значения_x    Обязательный. Массив или диапазон независимых точек данных.

Замечания

  • Аргументы могут быть либо числами, либо содержащими числа именами, массивами или ссылками.

  • Учитываются логические значения и текстовые представления чисел, которые непосредственно введены в список аргументов.

  • Если аргумент, который является массивом или ссылкой, содержит текст, логические значения или пустые ячейки, то такие значения пропускаются; однако ячейки, которые содержат нулевые значения, учитываются.

  • Аргументы, которые представляют собой значения ошибок или текст, не преобразуемый в числа, вызывают ошибку.

  • Если аргументы «известные_значения_y» и «известные_значения_x» содержат различное количество точек данных, то функция СТОШYX возвращает значение ошибки #Н/Д.

  • Если known_y и known_x пустые или имеют менее трех точек данных, steYX возвращает #DIV/0! значение ошибки #ЗНАЧ!.

  • Уравнение для стандартной ошибки предсказанного y имеет следующий вид:

    Уравнение

    где x и y — выборочные средние значения СРЗНАЧ(известные_значения_x) и СРЗНАЧ(известные_значения_y), а n — размер выборки.

Пример

Скопируйте образец данных из следующей таблицы и вставьте их в ячейку A1 нового листа Excel. Чтобы отобразить результаты формул, выделите их и нажмите клавишу F2, а затем — клавишу ВВОД. При необходимости измените ширину столбцов, чтобы видеть все данные.

Данные

Известные значения y

Известные значения x

2

6

3

5

9

11

1

7

8

5

7

4

5

4

Формула

Описание (результат)

Результат

=СТОШYX(A3:A9;B3:B9)

Стандартная ошибка предсказанных значений y для каждого значения x в регрессии (3,305719)

3,305719

Нужна дополнительная помощь?

Иногда в повседневной работе вам нужно выбрать нескольких сотрудников случайным образом из длинного списка имен в качестве счастливых имен. Как в Excel можно случайным образом выбрать несколько имен для удачного розыгрыша? В этой статье я расскажу о некоторых полезных методах решения этой задачи в Excel.

Извлечение случайных имен для удачного розыгрыша с помощью формулы

Извлекать случайные имена для удачного розыгрыша с помощью кода VBA

Выбирать случайные имена для удачного розыгрыша с помощью Kutools for Excel

Выбрать случайные имена для создания счастливых имен в Excel

Чтобы случайным образом выбрать некоторых сотрудников из длинного списка имен в качестве счастливых имен, вы можете применить Kutools for Excel , с его функцией Сортировать диапазон в случайном порядке , вы можете быстро выбрать определенное количество имен случайным образом по мере необходимости.

Kutools for Excel : с более чем 200 удобными надстройками Excel, попробуйте бесплатно без ограничений в течение 60 дней. Скачать и бесплатную пробную версию прямо сейчас!

–>


Содержание

  1. Извлечение случайных имен для удачного розыгрыша с помощью формулы
  2. Извлеките случайные имена для удачного розыгрыша с помощью кода VBA
  3. Выбирайте случайные имена для удачного розыгрыша с помощью Kutools for Excel

Извлечение случайных имен для удачного розыгрыша с помощью формулы

Например, я хочу извлечь любые 3 имени из списка имен, следующая длинная формула может вам помочь, пожалуйста, сделайте следующее:

Введите эту формулу в пустую ячейку, в которую вы хотите поместить результат: , а затем перетащите дескриптор заполнения вниз к ячейкам, как вы нужно, см. снимок экрана:

Примечания :

1. В приведенной выше формуле: – это список имен, который вы хотите извлечь случайным образом, B2 – это необходимое число, для которого нужно извлечь имена, – это ячейка, в которую нужно ввести формулу, а C1 – ячейка над ячейкой формулы.

2. Вы можете нажать клавишу F9 , чтобы случайным образом получить другую группу новых имен.


Извлеките случайные имена для удачного розыгрыша с помощью кода VBA

Здесь код VBA также может помочь вам выполнить эту задачу, пожалуйста, сделайте следующее:

1 . Удерживая нажатыми клавиши Alt + F11 , откройте окно Microsoft Visual Basic для приложений .

2 . Нажмите Вставить > Module и вставьте следующий код в окно Module .

Код VBA: извлечение случайных имен из списка:

Примечание : в приведенном выше коде – ячейка содержит количество имен, которые вы хотите извлечь.

3 . После вставки кода нажмите Инструменты > Ссылки в открывшемся окне Microsoft Visual Basic для приложений , а затем, в появившемся диалоговом окне Ссылки – VBAProject установите флажок Microsoft Scripting Runtime в списке Доступные ссылки , см. снимок экрана:

4 . Затем нажмите кнопку OK , чтобы выйти из диалогового окна, затем нажмите клавишу F5 , чтобы запустить этот код, и появится окно подсказки, напоминающее вам о выборе список данных, из которого вы хотите извлечь имена, см. снимок экрана:

5 . Нажмите кнопку OK , и появится другое окно подсказки, выберите ячейку, в которую вы хотите поместить результат, см. Снимок экрана:

6 . Затем нажмите OK , и желаемое количество имен было создано случайным образом одновременно, см. Снимок экрана:


Выбирайте случайные имена для удачного розыгрыша с помощью Kutools for Excel

Возможно, для большинства из нас могут быть затруднены два вышеуказанных метода, здесь, если у вас есть Kutools for Excel с его Диапазон сортировки Случайно функция, вы можете быстро выбирать имена случайным образом.

Kutools for Excel : с более чем 300 удобными надстройками Excel, бесплатно, без ограничений в течение 30 дней .

Перейти к загрузке
Бесплатная пробная версия 30 днейПокупка
PayPal/MyCommerce

После установки Kutools for Excel сделайте следующее:

1. Выберите список имен, который вы хотите выбрать случайным образом. Затем нажмите Kutools > Range > Сортировать/выбрать диапазон случайным образом , см. Снимок экрана:

2 . В диалоговом окне Сортировка/выбор диапазона в случайном порядке на вкладке Выбрать введите число, имена которого вы хотите выбрать, в поле Нет . ячеек для выбора текстового поля, а затем выберите Выбрать случайные ячейки в разделе Выбрать тип , см. снимок экрана:

3 . Затем нажмите кнопку Ok , и ваше конкретное количество имен было выбрано так, как вам нужно, см. Снимок экрана:


Понравилась статья? Поделить с друзьями:

А вот еще интересные статьи:

  • Excel сцепить ячейки в диапазоне
  • Excel сцепить через разделитель
  • Excel сцепить формула массива
  • Excel сцепить формат ячеек
  • Excel сцепить формат числа

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии