Isso deve funcionar, embora eu queira alertar contra o uso de toda a referência de estilo de coluna, já que os cálculos de fórmulas de matriz são intensivos em processamento. Se você souber seus intervalos de dados, defina os intervalos para os limites dos dados.
=ArrayFormula(SUM(IF(FREQUENCY(IF($A:$A="id-1",IF($B:$B<>"",MATCH($B:$B,$B:$B&"",0))),ROW($B:$B)-ROW($B$1)+1),1)))
O "id-1" precisará ser alterado se você tiver muitos IDs que deseja executar a pesquisa, você pode colocar esses IDs únicos em outra coluna, fazer referência a essa coluna em vez do código "id-codificado" # "e deixe as $ âncoras fora e copie a fórmula para baixo.
O que está fazendo:
IF($A:$A="id-1",
Descobre se cada linha no intervalo corresponde à string dada, "id-1"
IF($B:$B<>"",
então, em caso afirmativo, verifica apenas células não vazias na coluna de frutas
MATCH($B:$B,$B:$B&"",0)
e encontra o índice da primeira ocorrência encontrada de cada string
FREQUENCY(IF($A:$A="id-1",IF($B:$B<>"",MATCH($B:$B,$B:$B&"",0))),ROW($B:$B)-ROW($B$1)+1
Em seguida, descobre quantas frutas únicas existem
IF(FREQUENCY(IF($A:$A="id-1",IF($B:$B<>"",MATCH($B:$B,$B:$B&"",0))),ROW($B:$B)-ROW($B$1)+1),1)
E correlaciona os valores exclusivos aos encontrados nos três primeiros recortes de código acima para obter uma contagem total de cada valor exclusivo e, em seguida, atribui cada string encontrada a uma única contagem para sinalizar que ela foi encontrada para o ID atual. / p>
SUM(IF(FREQUENCY(IF($A:$A="id-1",IF($B:$B<>"",MATCH($B:$B,$B:$B&"",0))),ROW($B:$B)-ROW($B$1)+1),1))
E, finalmente, soma todas as strings encontradas para essa ID