Автоматическое сравнение отдельных строк в таблице

Автоматическое сравнение отдельных строк в таблице

У меня есть набор данных, содержащий серию из 10 измерений, каждое из которых имеет 3 координаты. Я вычисляю 3D-декартову разницу между измерениями, т. е. измерение 1 против измерения 2, измерение 1 против измерения 3 и т. д.

Как можно автоматизировать расчет, чтобы получить все возможные результаты (1 против 2-10, 2 против 3-10 и т. д.)?

Спасибо

решение1

Как насчет этого:

введите описание изображения здесь

Использованные формулы:


  • Комбинации[ID]:=ROW()-ROW(Combinations[[#Headers],[ID]])
  • Комбинации[H1]: =SUM(([@ID]=HelpingTable[H1])*1)как формула массива (подтверждено CTRL+SHIFT+ENTER)
  • Комбинации[M1]:=SUM(INDEX([H1],1):[@H1])
  • Комбинации[M2]:=IF([@H1]=1,[@M1]+[@H1],OFFSET([@M2],-1,0)+1)
  • Комбинации[X1]:=INDEX(MeasurementTable[X],MATCH([@M1],MeasurementTable[Meas. No.],0))
  • Комбинации[Y1] и Комбинации[Z1] просто меняют букву внутри[]
  • Комбинации[X2]:=INDEX(MeasurementTable[X],MATCH([@M2],MeasurementTable[Meas. No.],0))
  • Комбинации[Y2] и Комбинации[Z2] просто меняют букву внутри[]
  • Комбинации[Разница]:=SQRT(([@X1]-[@X2])^2+([@Y1]-[@Y2])^2+([@Z1]-[@Z2])^2)

  • HelpingTable[Измерение]:=ROW()-ROW(HelpingTable[[#Headers],[Meas.]])
  • Вспомогательная таблица[H1]:=ABS(((MAX([Meas.])-[@[Meas.]]+1)-1)/2*(MAX([Meas.])-[@[Meas.]]+1)-45)+1

Таблица измерений содержит только данные — без функций.

Растягивайте таблицы по мере необходимости.

Строки, необходимые в таблице «Комбинации»:=COMBIN(<Measuremnt count>,2)

решение2

Вот что я считаю более традиционным подходом (использующим те же данные, что иЛюсер)

введите описание изображения здесь

Создайте таблицу с заголовками строк/столбцов (столбец F и строка 1). Затем в ячейке G2 используйте формулу расстояния (скопируйте/вставьте, чтобы заполнить выходную таблицу):

=SQRT(SUM((VLOOKUP(G$1,Table1,SEQUENCE(,3,2),FALSE)-VLOOKUP($F2,Table1,SEQUENCE(,3,2),FALSE))^2))

авария:

SQRT(SUM(( - )^2))внешняя часть формулы расстояния

VLOOKUP(lookup_value)определение первого или второго номера измерения на основе заголовка строки/столбца

SEQUENCE()возвращает значение столбца 2, 3 или 4 (X, Y, Z) из таблицы

Поворот результатов Lluser должен привести к той же выходной таблице, которую я представляю.

Связанный контент