簡體   English   中英

如何找到一行,找到該行中的最大值並返回該列標題?

[英]How do I find a row, find the highest value in that row, and return that column header?

在下面的電子表格中,我試圖找到每場演出銷售額最高的酒吧。 所以我希望'FRONT SHEET'上單元格B2中的公式查看'BAR SALES'表並找到具體的節目,找到該行中最高的銷售額,然后拉出酒吧名稱。

我目前正在使用這個有效的公式; 但是,該公式是特定於該節目的。 我希望公式更廣泛,並且能夠在“酒吧銷售”表中搜索節目。

=INDEX('BAR SALES'!$B$1:$F$1,MATCH(MAX('BAR SALES'!B2:F2,'BAR SALES'!B2:F2),'BAR SALES'!B2:F2,0) )

這是一個虛擬電子表格,但有要點。 我的實際工作表要大得多,因此我希望能夠搜索一長串節目以獲取此信息,而無需專門為該列表中的每個節目定制公式。 我可以以某種方式在這個公式中添加一個 vlookup 嗎?

[https://docs.google.com/spreadsheets/d/1dcjjQyZj9ANUTyTMloiY2CX94nBSYLt5hCiSWzY3tBk/edit#gid=1376876918][1]

利用:

=ARRAYFORMULA(IFNA(VLOOKUP(A2:A, SORTN(SORT(SPLIT(
 FLATTEN('BAR SALES'!A2:A&"×"&'BAR SALES'!B1:F1&"×"&'BAR SALES'!B2:F), 
 "×"), 3, 0), 9^9, 2, 1, 1), 2, 0)))

在此處輸入圖像描述

這是@player0 的稍長版本。 兩者都將返回相同的響應。 他們都做了一個 FLATTEN 和一個 SPLIT 來生成三列。 用您的數據測試每一個,看看是否更快。 它們應該大致相同,但值得測試。

=ARRAYFORMULA(
  IF(ISBLANK(A2:A),,
   IFERROR(
    VLOOKUP(
     A2:A,
     QUERY(
      SPLIT(
       FLATTEN(
        IF(ISBLANK('BAR SALES'!A2:A),,
         'BAR SALES'!A2:A&"|"&'BAR SALES'!B1:F1&"|"&'BAR SALES'!B2:F)),
       "|"),
      "where Col3 is not null
       order by Col3 desc"),
     2,FALSE))))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM