Ищу способ создания таблицы Excel, которая будет состоять из линейного набора точек. Эта таблица будет построена путем ввода Xstart
, Xend
, Ystatrt
, Yend
и числа точек. Все должно быть линейным. спасибо.
решение1
Работает следующее. Ожидаются пять указанных входных данных в ячейках E1:E5. Они находятся в первой строке редактора LET()
формул. Размещение всех ссылок на входные данные в первой строке упрощает их поиск при необходимости внесения изменений.
Входные данные дают две внешние точки. Те, что между ними, находятся путем вычисления Rise over Run
для каждой координаты во внутренних точках диапазона.
То, что заполняет внутренние точки, строится с использованием SEQUENCE()
. Общее количество строк, которое он создает, находится с помощью Points-1, одного используемого столбца и начального значения 0, поэтому первое его использование в начальной точке не имеет никакого эффекта, но формула по-прежнему действительна для всех строк "Points" вместо того, чтобы первой точке использовать уникальную формулу, а затем другую для остальных. И увеличивается на 1 для каждой пары.
Можно ROUND()
до любой десятичной точки или вообще ни одной. Если ваша цель — сами пары точек, выберите округление, которое соответствует желаемой вами «точности». Если эта формула должна быть входными данными для другой формулы или чего-то вроде диаграммы, и прерывистость округления является проблемой, просто увеличьте количество десятичных знаков, при которых происходит округление, чтобы это подходило, или вообще удалите округление. В конце концов, если наличие 15-значных координат не является проблемой, зачем вообще заморачиваться с округлением?
Если вы часто меняете округление, добавьте его в первую строку. Добавьте термин, который выглядит так: Decimals,2,
в конце строки... Я просто отредактирую это в формуле:
=LET(Xstart, E1, Xend, E2, Ystart, E3, Yend, E4, Points, E5-1, Decimals, 2,
Rise, Yend-Ystart, Run, Xend-Xstart,
Xdelta, Run/Points, Ydelta, Rise/Points,
XYpairs,
"("& TEXT(ROUND(Xstart+Xdelta*SEQUENCE(Points+1,1,0,1),Decimals),"0.00") &","& TEXT(ROUND(Ystart+Ydelta*SEQUENCE(Points+1,1,0,1),Decimals),"0.00") &")",
XYpairs)
(Редактору потребовалось несколько дополнительных пробелов, чтобы текст хорошо отображался на экране, но их можно удалить. Я считаю, что объединение элементов в формулы упрощает их понимание.)
Округлив число по крайней мере до двух знаков после запятой, можно быть уверенным, что конечные точки соответствуют Xend и Xstart.
В Excel есть другие функции для расширения наборов точек. Это остается в пределах указанных вами доступных параметров, поэтому выглядит совсем не так. Если указанные вами доступные параметры не совсем то, что вы хотели бы сделать, скорее из-за того, как ваш офис работал с этим до того, как вы подумали об использовании Excel, или вы не разбираетесь в том, что может делать Excel, поэтому создали то, что показалось разумным набором параметров для достижения этого, но определенно можете предпочесть другое решение и быть в состоянии прекрасно использовать параметры, которые могут ему понадобиться, постановка вопроса, но при этом сказать, что вы открыты для других методов, будет хорошим способом увидеть некоторые из них.
(Я понимаю, что этому вопросу уже несколько лет, так что автор публикации наверняка никогда не увидит этот ответ, но тот, кто ищет информацию по теме, может быть заинтересован в том, чтобы узнать, что есть и другие способы разоблачить эту кошку.)