值的出现次数,基于跨列的相应值

Occurences of a value, based on corresponding value across columns

我目前有一个 table 布局类似于:

Quality | Fruit1 | Fruit2 | Fruit3
----------------------------------
Sweet   | Apple  | Orange | Pear
Firm    | Pear   | Apple  | Watermelon
Sweet   | Orange | Pear   | Melon
Soft    | Banana | Orange | Strawberry
Firm    | Apple  | Melon  | Pear
Sweet   | Melon  | Pear   | Watermelon

(实际的 table 有更多的行,"qualities" 和 "fruits",尽管仍然只有三个 "Fruit#" 列和一个 "Quality" 列。 )

我正在尝试创建另一个 table,以便它记录(对于上述示例)每种水果每种品质的出现次数:

           |  Firm  |  Soft  | Sweet
--------------------------------------
Apple      | 2      | 0      | 1
Banana     | 0      | 1      | 0
Melon      | 1      | 0      | 2
Orange     | 0      | 1      | 2
Pear       | 2      | 0      | 3
Strawberry | 0      | 1      | 0
Watermelon | 1      | 0      | 1

(品质和果实特意在这table排序。)

我尝试了 VLookup、Match、Index 和 Countif/s 的多种组合,但我觉得我遗漏了一些明显的东西,因为目前还没有任何效果。

我对公式的思考过程类似于(在计算 Firm 行中出现 Apple 的情况下):

如果可能的话,我也希望避免使用函数,尽管我不知道在当前的布局下这是否可行。

根据输出要求设置行和列标签,并假设 Quality 在 A1 中,Firm 在 G1 中输出,然后(使用函数!)请尝试:

=countifs($B:$B,$F2,$A:$A,G)+countifs($C:$C,$F2,$A:$A,G)+countifs($D:$D,$F2,$A:$A,G)  

在 G2 中上下复制以适应花色。