1. 程式人生 > >在工作表多行多列的區域中查詢目標值的位置

在工作表多行多列的區域中查詢目標值的位置

iamlaosong文

工作表的一個區域中有很多值,我們很容易用min或者max函式找出這個區域的最小值或者最大值,但是,要確定這個值的位置就比較難了,因為match函式或者vlookup(或者hlookup)函式都是對單行或者單列進行操作的。要確定這個值的位置,需要用到陣列公式,我們看下面的陣列公式:

 {=ADDRESS(           MAX(IF(A1:R18=MIN(A1:R18),ROW(A1:R18))),           MAX(IF(A1:R18=MIN(A1:R18),COLUMN(A1:R18)))) } 這個公式返回A1:R18這個區域內最小值的位置,返回的結果可能類似這樣:$H$4,就是這個最小值所在的單元格。下面分析一下這個公式的含義:

最外層的address函式是把行列值轉換為單元格地址的一般表示方式,address(4,8)=$H$4,所以,公式中的兩個max函式返回的是最小值所在位置的最大行號和最大列號,其中if函式就是判斷區域內每個單元格是否等於最小值,相等就返回行號或者列號,否則返回false,逐一比較的結果是返回多個值(區域中有多少個單元格就返回多少個值),然後max含返回其中最大的,當然也可以用min函式返回最小的。

上面的公式稍作分解,就可以返回行號:

{=MAX(IF(A1:R18=MIN(A1:R18),ROW(A1:R18)))}

或者返回列號

{=MAX(IF(A1:R18=MIN(A1:R18),COLUMN

(A1:R18)))}

所謂的陣列公式,就是指定範圍內的多個數據逐一進行計算,然後在這些結果中挑選(比如max)或者合成(比如sum)為一個結果返回;或者事先選擇多個單元格然後輸入陣列公式,最後返回多個結果儲存在這些單元格中。

最後,陣列公式在輸入後,要以Ctrl+Shift+Enter來結束公式,這樣結束的陣列公式看起來比普通公式外面多一組{},也就是花式大括號。

相關推薦

工作區域查詢目標值位置

iamlaosong文 工作表的一個區域中有很多值,我們很容易用min或者max函式找出這個區域的最小值或者最大值,但是,要確定這個值的位置就比較難了,因為match函式或者vlookup(或者hlo

遊戲得有活動的場景:程式碼的LinearLayout佈局

既然是江湖,總得有一些可以到處跑的地兒。 咱是新手,那就排的簡單點,排個幾行幾列的就完事了。至於到底排個幾行幾列的,這個倒也說不準。 得,那就不能直接在layout/xml裡面直接畫了。咋辦?也好辦,在activity裡面通過程式碼生成佈局就可以了。 activity_scene_fight.xml 如

sql 分隔符字串轉換成以及記錄值轉換成字串

--1. 字串(分隔符分隔組成的字串)轉換成多行記錄的表 -- Function create FUNCTION [dbo].[fn_Split1]( @String nvarchar (max), @Delimiter nvarchar (10)

Latex插入張圖片,實現並排排列或者排列

最近需要用latex插入多張圖片,達到這麼一個效果。 但是我原來只插入過一張圖片(圖片內容來源於網路;是國漫一人之下的寶兒姐。強推這部國漫~),程式碼如下,效果如圖: \begin{figure} \centering \includegraphics[height=

css實現的布局

.com ati 絕對定位 add -s foo center alt class 1.兩列多行: HTML: <div class="box1"> box1:實現兩列多行布局 <ul> <l

easyUI datagrid 數據渲染異常緩慢原因以及解決方法

後端 http 前後端 公司 發送請求 class 之前 vue 做的 原因 最近,在優化之前公司幫聯想(外包)做的一個老的後臺管理系統,由於項目是基於easy UI框架,頁面是後臺用jsp實現的,再加上在公司推行前後端分離的實踐,大部分項目都基於vue采用前後端分離去實現

hive udtf 輸入一返回

create json clu spark beeline tin tca org.json 1.0 之前說到了hive udf,見https://blog.csdn.net/liu82327114/article/details/80670415 UDTF(User-De

matlab矩陣 取 一行 一

a = 1 2 3 4 5 6 1 2 3 4 5 6 % 取一行 K>> a(1,:) ans = 1 2 3 4 5 6

letax表格合併

在用latex做表格的時候會需要多行或者多列合併,如下圖所示: 上表的letax程式碼如下: \subsection{Costs} \begin{table}[!htbp] \centering \caption{Costs} \label{Table-co

oracle

問題描述:    應公司要求,設計功能,一個ID,對應不同的值,展示的時候不同的值拼接展示,如何實現;   解決思路:     1) 拼接字串,想到了 oracle  Function(),這樣肯定能實現,但是比較麻煩;

WPF動態建立Button

動態新增多行多列資料: XAML程式碼: <Window x:Class="GameDemo.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x=

GRIDVIEW合併單元格(合併

左邊是原始資料的顯示,右邊是應用合併列之後的效果。 從圖中可以看到,二級指標有兩列,有的行中兩列的內容一樣,有的則不一樣,如果實現如右圖所示,看起來效果會更好一些。下面就著手實現這個功能,我的實現原理很簡單,就是遍歷GridView的行和遍歷行中的單元格,如果單元格的前一列和當前列的內容相同就合

EXCEL完成條件結果查詢&變一

    其實我本來對EXCEL是一竅不通的,直到我舅舅給了一串大概1500多行的藥品供應目錄讓幫他我查詢。當他告訴他們平時都是花1~2天人工填寫查詢的時候,我當時就驚呆了,心想EXCEL設計者肯定已經哭暈在廁所,大家竟然都不用便捷的公式來完成,於是乎我就開始上手了。  

自定義RadioGroup實現radioButton

     前段時間我需要一個2行2列的單選組合按鈕,效果如下:但是發現在RadioGroup添加布局的時候就會失去radioButton的互斥行,我上網查了一下相關的自定義RadioGroup的方法,希望能夠找到能如意在裡面隨意佈局的,但是貌似沒有找到,好像都是根據各自的

mysql合併為一行一

mysql> select * from aa; +------+------+ | id| name | +------+------+ |1 | 10| |1 | 20| |1 | 20| |2 | 20| |3 | 200  | |3 | 500  | +---

Latex 表格

轉載來源:http://jhengjyun.blogspot.hk/2011/01/latexmulticolumnmultirow.html 如果合併的表格只需要跨行,不需要跨列,直接就用LaTable解決吧! 然而要製作出更複雜含有跨列合併表格,就必須手動改寫了 通常

android值radioGroup實現單選框--動態加入

</pre><p></p><p></p><pre code_snippet_id="1552676" snippet_file_name="blog_20160111_2_1960190" name="cod

一個figure存在個legend:圖例

問題:如何在Matlab中,將圖例繪製成多行多列的? 查詢資料過程中發現, 1)有的方法要求多個plot中橫座標具有相同的長度 2)高版本中,部分函式報錯(應該可以改正) 本文根據需要找到一個可靠的解決方法,現整理如下: 優點:每個plot互相獨立;程式碼量

latex 複雜表格()的製作

%多行或多列合併的情況%(1)多行合併程式碼如下\documentclass{article}\usepackage{multirow}   %使用multirow必須載入該package\begin{document}\begin{table}[tbp]\centering

DB2資料庫轉換成 一行一

在db2中遇到多行一列轉為一行一列的需求時,用db2函式 LISTAGG可以實現該功能。語法如下: SELECT [分組的欄位 ] , LISTAGG([需要聚合的欄位名], ',') FROM [表名] GROUP