如何在ARRAYFORMULA中转换COUNTIFS公式以自动将公式插入每一行

时间:2019-04-12 10:41:45

标签: google-sheets formula google-sheets-formula

使用我在列CI中的@Multipart @POST("media/upload-media") Call<ResponseBody> uploadProfile( @Part("id") RequestBody id, @Part MultipartBody.Part profile_image ); 公式,希望对A列中所有出现的相同字符串(例如Apple或Orange)进行自动编号(总计),但前提是该字符串出现在同一行B是某种类型,例如如果B列中的类型为C列中的“水果”,则会自动为A列中所有出现的相同字符串进行编号。对于每个“水果”类型的新字符串,请重新开始编号。

结果应该是这样的:

countifs

C列中的公式:

+---+-----------+-------+---+--+
|   |     A     |   B   | C |  |
+---+-----------+-------+---+--+
| 1 | Apple     | Fruit | 1 |  |
| 2 | Apple     | Fruit | 2 |  |
| 3 | Mercedes  | Car   | 0 |  |
| 4 | Mercedes  | Car   | 0 |  |
| 5 | Orange    | Fruit | 1 |  |
| 6 | Orange    | Fruit | 2 |  |
| 7 | Apple     | Fruit | 3 |  |
+---+-----------+-------+---+--+

我想将此公式转换为数组公式并将其放入标题中,以便该公式自动展开。

无论我尝试了什么,都行不通。

任何帮助都是由衷的感谢!

以下是工作表的链接:[https://docs.google.com/spreadsheets/d/1lgbuLbTSnyKkqr33NdVuDEv5eoXFwatX1rgeF9YpIks/edit?usp=sharing][1]

2 个答案:

答案 0 :(得分:1)

={"ARRAYFORMULA HERE"; ARRAYFORMULA(IF(LEN(B2:B), IF(B2:B="Fruit",
 MMULT(N(ROW(B2:B)>=TRANSPOSE(ROW(B2:B))), N(B2:B="Fruit"))-
 HLOOKUP(0, MMULT(N(ROW(B2:B)>TRANSPOSE(ROW(B2:B))), N(B2:B="Fruit")),
 MATCH(VLOOKUP(ROW(B2:B), IF(N(B2:B<>B1:B), ROW(B2:B), ), 1, 1),
       VLOOKUP(ROW(B2:B), IF(N(B2:B<>B1:B), ROW(B2:B), ), 1, 1), 0), 0), 0), ))}

0


0

demo spreadsheet

答案 1 :(得分:0)

=ARRAYFORMULA(IF(LEN(B2:B), IF(B2:B="Fruit",
 MMULT(N(ROW(B2:B)>=TRANSPOSE(ROW(B2:B))), N(B2:B="Fruit")), 0), ))

0