2016-02-18 11 views
1

Link here to spreadsheetGoogle таблицы прибудете дополняет

Как говорит название, как я могу в конечном итоге с клетками, которые не соответствуют стоимости, разница/дополнения (теория множеств)?

Я предпочел бы это только с ФУНКЦИЯМИ и без сценария.

{1,2,3,4}\{1,3} = {2, 4} 

или с буквами

{a,b,c,d}\{a,c} = {b, d} 

или с пробелом.

{xyz zyx, abc cba, qwe ewq}\{xyz zyx, qwe ewq} = {abc cba} 
+0

Вам нужно ch ance разрешений на вашем листе, чтобы кто-нибудь мог его просмотреть. –

+0

извините, теперь он изменен. Но то, что у меня есть на листе, в основном те же примеры, что и у меня здесь – KaZyKa

ответ

1

Имея два массива:

Array1 Array2 
    1  1 
    2  b 
    b 
    4 
    c 

вы можете получить в результате массив:

Result 
    2 
    4 
    c 

Попробуйте эту формулу:

=FILTER(A2:A6,ROUND(MMULT(ArrayFormula(--(A2:A6<>TRANSPOSE(B2:B4))),TRANSPOSE(SPLIT(REPT(1/ROWS(B2:B4)&"/",Rows(B2:B4)),"/"))),5)=1) 

Может быть слишком сложным для выполнения этой задачи, может кто-нибудь отредактировать его? Пожалуйста, обратите внимание на sample sheet


Редактировать

Я нашел более простой способ сделать это, используя регулярные выражения:

=FILTER(A2:A6,REGEXMATCH(ARRAYFORMULA("'"&A2:A6),JOIN("|",B2:B3))=false) 
+0

Ну, это сработало :) спасибо человеку <3 – KaZyKa

2

Вы можете добавить одну единственную формулу в верхней вашей колонки результатов следующим образом:

=arrayformula(if(B2:B=A2:A,,A2:A)) 
+1

Это работает. Если вам не нужны пробелы между значениями, вы можете использовать '= filter (A2: A, A2: A <> B2: B)' вместо – daniel

+0

Это работает только в том случае, если они отсортированы и соответствуют – KaZyKa