I apologized. I didn't read Forum Rules #7. I had posted on Excel Forum, ExcelGuru, and Chandoo.org. So do I remove two and stay with one?arthurz11
Did You forget Forum Rules?
Please, reread those again.
Site Rules - New Users - Please Read
Hi all, Welcome to the Chandoo.org Forums. Posting Rules & Etiquette The Chandoo.org Forums is a collaborative and happy place to learn and expand your Excel knowledge. The Chandoo.org Forums consist of several Sub-Forums based on the type of question/area of Excel you are interested in...chandoo.org
I apologized. I didn't read Forum Rules #7. I had posted on Excel Forum, ExcelGuru, and Chandoo.org. So do I remove two and stay with one?
I want to remove the post from Chandoo and Excel Forum. But how do I do it? That way I can stick with one.
Worksheet function
= LISTDUPSλ(GridPointTbl[@])
where the Lambda function is defined by
LISTDUPSλ = LAMBDA(
dataRow,
LET(
trimmed, TOROW(dataRow, 1),
wrapped, WRAPCOLS(trimmed, 2),
distinct, UNIQUE(wrapped, 1, ),
unique, UNIQUE(wrapped, 1, 1), // otherwise all duplicates
combined, IFERROR(HSTACK(distinct, unique), distinct),
duplicate, UNIQUE(combined, 1, 1), // otherwise no duplicates
return, IFERROR(duplicate, ""),
TOROW(return,,1)
)
);
= BYROWλ(GridPointTbl, LISTDUPSλ)
Man oh man. I haven't made any progress from Excel Guru or the other forums like Mr. Excel, ExcelGuru and even three other Excel paying websites for months. Very frustrating. An administrator mentioned that BYROW and WRAPROWS are in Excel 2024 and 365, but NOT in 2021, hence the #NAME? error. In that case, would someone please be so kind as to help write the Excel FILTER formula that works only for Version 2021 and NOT on versions 365 nor 2024? On the three different paying websites, I was scammed by one but the other two, could not do it and my money was refunded. I even had an excel consultant from Mr. Excel for consultanting services (so that's actually 4 paying Excel help websites) but he decided not to ask for any payment after it didn't work. I been trying for months for someone to help. One of the Mr.Excel that helped me with a FILTER formula worked great but I wanted him to do the opposite. No reply from him for a very good while.Have you made progress on ExcelGuru?
I have played some FILTER tricks to get a list of duplicates.
Code:Worksheet function = LISTDUPSλ(GridPointTbl[@]) where the Lambda function is defined by LISTDUPSλ = LAMBDA( dataRow, LET( trimmed, TOROW(dataRow, 1), wrapped, WRAPCOLS(trimmed, 2), distinct, UNIQUE(wrapped, 1, ), unique, UNIQUE(wrapped, 1, 1), // otherwise all duplicates combined, IFERROR(HSTACK(distinct, unique), distinct), duplicate, UNIQUE(combined, 1, 1), // otherwise no duplicates return, IFERROR(duplicate, ""), TOROW(return,,1) ) );
WRAPCOLS is used to pair up the x and y terms to make the use of UNIQUE possible. The variable 'distinct' holds a list of distinct (x, y) pairs whilst 'unique' is the list of pairs that are not duplicated. Stacking the two lists duplicates those pairs that were unique in the original, hence a further use of UNIQUE returns the original duplicates. Where things start to get painful is the fact that the required result is an array of arrays which, currently, is out of scope for the built-in helper functions.
Using a helper function BYROWλ that am developing gives
View attachment 88779Code:= BYROWλ(GridPointTbl, LISTDUPSλ)
=LET(n, QUOTIENT(COUNTA(GridPointTbl[@]), 2),
k, SEQUENCE(n, 2),
list, INDEX(GridPointTbl[@], k),
distinct, UNIQUE(list),
unique, UNIQUE(list, , 1),
na, ROWS(distinct),
nb, ROWS(unique),
r, {1,1} * SEQUENCE(na + nb),
c, SIGN(r) * {1,2},
combined, IF(r <= na, INDEX(distinct, r, c), INDEX(unique, r - na, c)),
duplicate, IF(ISERROR(nb),distinct, UNIQUE(combined, , 1)),
x, IFERROR(duplicate, ""),
IFERROR(CHOOSE({1,2,3,4,5,6,7,8,9,10},INDEX(x,1,1),INDEX(x,1,2),INDEX(x,2,1),INDEX(x,2,2),INDEX(x,3,1),INDEX(x,3,2),INDEX(x,4,1),INDEX(x,4,2),INDEX(x,5,1),INDEX(x,5,2)),""))
Sorry for the very late reply. I needed to back off from Excel formulas. I was completely burned out. I would very much just like to utilize the FILTER formula because I can understand it better than not using a FILTER formula at all. I have to use it on other parts of the worksheet that uses 200 columns and 10 rows. And that's just one table of an array out of 20 to 30 arrays. So that's why I just sent a short version ( Oct 14, 2024 - #1 post of this forum) so it would be easier to do but found out that the formulas that excel helpers wrote didn't work accordingly to plan.arthurz11
With my 'without formula' Your need to know that range where is Your data and press that button.
If You cannot do those then ... okay.
Do that mean, You can only accept FILTER-formula?
or do You would like to get results?
Cross-posting is okay, if user follows basic rules.
You start to follow rules after others has reported about cross-posting.
You should read next:
A message to forum cross posters
Do you know why you're here? If you have been pointed to this page, it is not because someone is mad at you, but rather because we want to curb your posting habits before people start ignoring your posts. Online … Continue reading →excelguru.ca
=LET(
f, FILTER(A2:J2,A2:J2<>""),
s, SEQUENCE(COLUMNS(f)/2,2),
v, INDEX(f,,s),
x, INDEX(v,,1),
y, INDEX(v,,2),
u, UNIQUE(FILTER(v,MMULT((x=TRANSPOSE(x))*(y=TRANSPOSE(y)),IF({1},1,x))>1,"")),
n, SEQUENCE(COUNTA(u),,0),
TRANSPOSE(INDEX(u,INT(n/2)+1,MOD(n,2)+1))
)
=LET(
f, FILTER(A2:J2,A2:J2<>""),
s, SEQUENCE(COLUMNS(f)/2,2),
v, INDEX(f,,s),
a, UNIQUE(v),
b, UNIQUE(v,,1),
u, FILTER(a,ISERROR(XMATCH(INDEX(a,,1)&"|"&INDEX(a,,2),INDEX(b,,1)&"|"&INDEX(b,,2))),""),
n, SEQUENCE(COUNTA(u),,0),
TRANSPOSE(INDEX(u,INT(n/2)+1,MOD(n,2)+1))
)