Цитата |
---|
Hugo написал: ActiveCell.Resize(1, 11) = Application.Transpose(out) |
Большое спасибо вам за помощь! Второй вариант - то, что нужно

17.12.2024 17:34:50
Здравствуйте!
Есть такая таблица: Исходник.xlsx в которой B6:B25 - это диапазон, заполненный числами. В нем мосжет быть заполнено минимум 2 и максимум 20 ячеек. В текущем случае это диапазон B6:B19, то есть заполнено 14 ячеек Необходимо распределить по этим числам точки, количество которых указано в ячейке K36. распределение происходит путем деления количества точек в K36 на количество заполненных ячеек в диапазоне B6:B25 (ячейка I2) В результате этого деления получается число с целой и дробной частью. Целая часть этого числа указана в ячейке H5, дробная (остаток) - в ячейке I5. С целой частью все понятно, она просто распределяется по всем соседним от диапазона B6:B25 ячейкам, которые являются непустыми. В данном случае это диапазон C6:С19. Проблема с дробной частью (остатком)..(ячейка I5), ее нужно как-то распределить тремя способами по числам и приплюсовать к целой части. Тип №1: распределить остаток сверху вниз последовательно: Число 1 распределяется сверху вниз в количестве, указанном в I5. Можно сделать с помощью заполнения промежуточного столбца, но нужно этого избежать Тип №2: распределить остаток сверху вниз равномерно от границы: Этот способ хорошо работает в отдельном файле "От границы.xlsx", но как его вывести в отдельную формулу, я даже не знаю как подступиться Тип №3: распределить остаток равномерно во всем диапазоне: Нужно сделать что-то похожее, что делает функция РАСПРЕД. Но как ее заставить распределять одно и тоже число расвномерно среди имеющегося множества чисел - непонятно ![]() В итоге должно получаться вот такое: Буду благодарен за любые наводки. Есть мысли, как это сделать с помощью промежуточных таблиц, но этого хотелось бы избежать, сделать все формулами и без VBA Все скриншоты есть в файле Исходник.xlsx на разных листах Заранее спасибо
Изменено: |
|
|
15.12.2024 13:35:11
Да, все так, под это дело есть отдельное условие, которое сперва проверяет, чтобы количество неповторяющихся чисел в числовом множестве было не больше заданного пользователем.
технически не понял этот момент, что за промежутки в количестве 7? Если отрезков между всеми распределенными значениями в диапазоне, то получается 9:
Работает как часы! Заодно больше узнал про функцию ПОСЛЕД и формулы массива. Первый раз вижу массивы в действии. В сочетании с функцией ОКРУГЛТ под мои задачи подходит, благодарю! НО есть один нюанс, функция ПОСЛЕД отсчитывает диапазон с заданным шагом. А как в формуле прописать диапазон фиксированно, чтобы там фигурировали его начало (30) и конец (60)? К примеру, начало диапазона - 75,01 конец - 76. Шаг - 0,01. Нужно найти 9 равноудаленных друг от друга значений Я ввожу формулу
Но выходит что-т не то
Изменено: |
|||||||||
|
13.12.2024 11:38:29
Мне предложили попробовать:
Я попробовал, но при нажатии F9 ничего не произошло. Часто бывает, что клавиши или сочетания клавиш на Win не работают на Mac, либо в маке для них другие сочетания. Поэтому я написал что у меня эксель для MAC, подразумевая что это может быть причиной того, что F9 не сработал:
Это частность, к проблеме этой темы не имеющая отношения. |
|||||||
|
13.12.2024 11:28:38
Так я за округление, наоборот, тем более тут других выходов-то и нет. Так и буду делать. Дело в том, что нужно знать когда там действительно строго единица в частном. А если при делении вдруг будет 0,999999999999091, которое потом будет округлено до единицы, то получиться, что расчет/сравнение было неверным. Хотя такое маловероятно, конечно, но и палка раз в год стреляет
Изменено: |
|||
|
12.12.2024 23:50:25
Прописываю в ячейке =A1-A2. Затем выделяю эту ячейку и нажимаю F9. Ничего не происходит. У меня Excel для MAC если что В A5 стоит формула, которая проверяет ячейку A4 и если ее значение =1, то она потом выдает ошибку. Как тогда правильно прописать сравнение в A4 ? |
|||
|
18.11.2024 16:48:05
Понятно, спасибо. Ну такая себе логика, конечно. Автоподстановку в пустые ячейки "нужного" типа данных еще можно понять, а вот безошибочно сравнивать ячейки с разными типами данных, типа 1 яблоко больше 40 книг?
Никакого смешивания нет, это уже пройденное
Изменено: |
|||||
|
17.11.2024 20:43:09
Ну да, поэтому все это непонятно у меня была длиннющая формула, в которой сие затесалось. Пришлось ее всю по слогам разложить, чтоб узнать что оно, оказывается, в природе экселя вот так ![]() |
|||
|
17.11.2024 13:05:30
Добрый день
Есть такая таблица A1 - пустая B=80 C=85 В ячейке A2 формула:
Который выдает ИСТИНА, хотя =C1<A1=ЛОЖЬ и =C1<B1=ЛОЖЬ Если формулу в A2 поменять на
то все равно выдаст ИСТИНА Почему? Нужно, чтобы если все значения вложенной функции ИЛИ в A1 были ЛОЖЬ, тогда чтоб он и возвращал ЛОЖЬ, а он непонятно почему возвращает ИСТИНА ![]() upd. Дошло, что нужно писать
Но все равно непонятно, почему даже запись C1<ИЛИ(A1;B1) выдает ИСТИНУ
Изменено: |
|||||||
|
05.11.2024 15:58:59
Вот это да! Спасибо большое Откуда вы все знаете? ![]()
Изменено: |
|||
|
24.10.2024 23:39:05
Можно ли внутри формулы задавать переменные?
Чтоб вот такое хоть как-то сократить
Изменено: |
|||
|