#excel #matrix #excel-formula
Вопрос:
У меня есть данные из 1000 строк и 2 колов. Я хочу преобразовать его в матрицу единиц и нулей таким образом, чтобы 1-й столбец был столбцом A, 1-я строка-столбцом B, и всякий раз, когда определенное значение A совпадает с B, оно возвращает 1 или 0. Я сделал это для столбца, но при попытке скопировать формула ломается.
Есть ли простое решение для этого?
Есть ли какой-либо другой простой способ сделать это в Excel или на любом другом языке, таком как Python или R.
Ответ №1:
Ты почти на месте. Ваша формула почти верна, но первая ссылка должна быть C$1
. Чтобы заполнить остальную часть матрицы, выберите полный диапазон, начинающийся с C2, и введите формулу с помощью Ctrl Enter.
Ответ №2:
=(COUNTIF($C$1:INDEX($1:$1,MAX(($1:$1<>"")*(COLUMN($1:$1)))),$B2)>0)*1
Подсчитывается, если текст в B2 встречается в индексированной первой строке, начиная со столбца 3 до последнего непустого столбца. Если возможно только одно совпадение, вы можете сузить его до
=COUNTIF($C$1:INDEX($1:$1,MAX(($1:$1<>"")*(COLUMN($1:$1)))),$B2)
Комментарии:
1. Спасибо вам за ваш ответ. Он не работает, хотя по какой-то причине возвращает каждое значение как 1.
2.Если вы потянете его вниз
$B2
, он превратится в$B3
etc. Возможно, формулу нужно ввести сctrl shift enter
помощью (чтобы она стала формулой массива). Если все сделано правильно, формула будет завернута{
}
.