Excel的OFFSET函數實現數據快速提取與整合

2020-12-15 極客職場

問題背景:小明老闆看小明處理數據靈活運用各種工具,速度奇快,效率奇高,也想跟小明學點技術,以備不時之需。這不,一大早的小明還沒到辦公室,老闆就想好了難題要再考考小明的水平,順便學個一招半式。

老闆拿出了在網頁上複製的數據(圖1、表2)來要小明提取出來做成統計表格(表3)。

小明本來還緊張,生怕完成不了,當著老闆的面也不好百度。一看這個要求,心裡竊喜,太好辦了。用Excel的OFFSET函數和ROW函數就解決了。

Offset函數:Offset是Excel中的函數,在Excel中,OFFSET函數的功能為以指定的引用為參照系,通過給定偏移量得到新的引用。返回的引用可以為一個單元格或單元格區域。並可以指定返回的行數或列數。

語法:OFFSET(reference, rows, cols, [height], [width])

OFFSET 函數語法具有下列參數:

Reference:必需。 要作為偏移基準的參照。 引用必須引用單元格或相鄰單元格區域。否則, OFFSET 返回 #VALUE! 。Rows:必需。 需要左上角單元格引用的向上或向下行數。 使用 5 作為 rows 參數,可指定引用中的左上角單元格為引用下方的 5 行。 Rows 可為正數(這意味著在起始引用的下方)或負數(這意味著在起始引用的上方)。Cols:必需。 需要結果的左上角單元格引用的從左到右的列數。 使用 5 作為 cols 參數,可指定引用中的左上角單元格為引用右方的 5 列。 Cols 可為正數(這意味著在起始引用的右側)或負數(這意味著在起始引用的左側)。高度:可選。 需要返回的引用的行高。 Height 必須為正數。寬度:可選。 需要返回的引用的列寬。 Width 必須為正數。定義不太好理解,直接上實例。

步驟一:檢查數據源表的格式是否統一。把數據源的表做成格式統一的表格,每一個車型的數據區域都是8格,每8行一個循環,格式統一才能找到規律,機器是需要按規律才能正確找到對應數據。

步驟二:編寫公式(引用)提取數據。

代碼釋義:

1、序號列第一格E2=OFFSET(B$1,(ROW(B1)-1)*8,)

提取的第一列是序號,序號的第一個值在B1單元格,所以從B$1開始,之所以絕對定位,是因為所有的序號都要參照B1的位置計算。(ROW(B1)-1)是提取行號,序號第一個理應提取B1,而B1是第一行,因此偏移0行,為(ROW(B1)-1)=1-1,*8是因為左側源數據以8行一循環,偏移8行就是下一個序號的單元格位置。E2單元格的值就是第一個序號,是B1的值,為1,公式意思是「引用(B$1,(B1的行號-1)*8,)」等於offset(B$1,(1-1)*8,),也等於offset(B$1,0,),就是B1。

因為不需要列偏移,所以*8之後逗號為空。

2、序號列第二格公式自動填充為E3=OFFSET(B$1,(ROW(B2)-1)*8,)

還是從B$1開始計算,絕對應用B1。(ROW(B2)-1)*8提取第二個序號的行號,為(B2的行號-1)*8=(2-1)*8=8,參照B$1往下偏移8行,正好是第9行,就是第二個序號,取值為2。所以,公式的邏輯就是為了構造公差為8的等差數列,而這個數列的值就是應提取序號的行號。而之所用ROW(B1)、ROW(B2)取單元格行號進行計算,而不用常數,是因為用常數,公式填充無法遞增。而ROW(B1)、ROW(B2)……填充公式剛好遞增1,便於構造出8倍遞增的序號行號,用ROW(A1)、ROW(A2)……也是可以的。

3、車型列第一格公式則為F2= =OFFSET(B$2,(ROW(B1)-1)*8,)

因為源數據第一個車型的單元格是B2,那麼就從B$2開始為參照,取到的行號2、10、18剛好就是車型單元格的行號。ROW函數取行號還是一樣,構造公差為1的等差數列,然後乘以8,以8的倍數偏移,因此,不管是繼續用(ROW(B1)-1)*8開始,還是和B$2 同步,用(ROW(B2)-2)*8開始,意義一樣。

4、後面的列也同樣的道理,只是在B列的基準參照起點依次往後推一格即可。

相關焦點

  • Excel如何通過函數進行數據提取?
    Excel函數的提取分為三部分,左側數據提取、中間數據提取和右側數據的提取,一起來看看吧!一、Excel如何通過函數進行左側數據提取?excel中的函數有非常強大的作用,下面小編來教大家如何使用函數對左側的數據進行提取吧。1.我們打開excel表格,想要對左邊六位數字進行提取出來。
  • 財務數據處理必不可少的offset函數
    在財務工作中會出現大量同比、環比、預算執行等需要抽取不同期間的數據的處理,如果只是簡單的連結單元格,如果所需展示期間發生變化,又要重新調整數據連結,這裡有個函數能夠完美解決這個問題,那就是offset函數。
  • Excel的VLOOKUP函數實現數據批量提取
    問題背景:在工作或生活中,經常要用到把兩個表格的數據合併在一起,例如兩個表格是相同的商品在不同時間段的價格或銷售數據,需要根據商品名稱把兩個表的數據整合在一起以便做更深度的數據統計和分析。我們知道可以用vlookup函數查找和提取,通過vlookup函數根據名單來查找和引用數據,實現多表整合。
  • Excel函數應用篇:offset函數公式的使用實例
    offset在excel表格中是一個非常厲害的函數,它在下拉菜單、動態圖表、動態引用操作中有不可替代的作用,今天我們就來學習一下offset函數公式的使用
  • excel數據快速求平均值,兩個excel函數就可以完美實現
    我們在實際工作和生活中,如果需要對excel數據進行快速求平均值,其實很簡單,利用兩個excel函數就可以完美實現,這兩個excel函數就是average函數和averagea函數。excel數據快速求平均值
  • Excel如何用函數提取長短不一的數據?
    如果在excel表格中的數據是長短不一的,如何提取出我們需要的數據呢?如何批量提取數據,一起來看看吧。1.首先我們要將銷售員中的店名和人名都提取出來。2.新建一個空白列,輸入函數find。批量提取數據需要通過很多的函數,我們接著上一節的操作,繼續給大家演示這樣的提取數據的方法。
  • Excel引用函數offset教程
    (ID:ExcelLiRui)微信個人號 | (ID:ExcelLiRui520)關鍵字:offsetExcel引用函數offset教程Excel中的引用函數offset是必會函數之一,無論是函數建模還是製作動態圖表都離不開offset的強大功能。
  • Excel如何通過函數提取中英文混合數據?
    Excel中中英文混合數據的提取,一般來說是使用快速填充的方法,這個比較快速,但是如果使用函數來提取的話,這個就有點小麻煩,不過小編慢慢來講解一下如何操作。1.我們打開excel表格要將商品名稱中的漢語和英語分開。
  • 老闆給了條件,如何用excel取出數值?學會offset+match函數
    ,從excel數據表裡取出對應的數值,是工作中的重要場景。如圖中案例表格,除了我們之前講的index+match這一組函數,用offset+match這一組函數也很容易實現。而且,offset+match還有更高級的用法(比如製作多級聯動下拉菜單),我們會在後面的課程講到。如果你沒有學會這些函數,那麼就無法應對大量數據的表格。
  • excel表格很多列時的快速選取方法(HYPERLINK函數應用)
    前天微信上有一個同學提問,當表格有很多列時,想查看某一列時需要用拖動滾動條拖來拖去,好久才找到這一列。      例1:如下圖所示數據表有40列,要求在前兩列建立導航,當點擊某列的列標題時就可以選取該一列。如下圖所示,點擊「列25」就可以立即讓光標到達「列25」所在的列。       有同學會說這個可以用手工設置超級連結來實現。可是,如果手工設置一是比較麻煩,每列都要設置。二是如果數據表的列發生添加和刪除,左側導航無法自動更新,還需要重新添加或刪除。
  • Excel高效絕技之三——數據提取與整合
    老闆拿出了在網頁上複製的數據(表1、表2)來要小三提取出來做成統計表格(表3)。 用Excel的OFFSET函數和ROW函數就解決了。 Offset函數:Offset是Excel中的函數,在Excel中,OFFSET函數的功能為以指定的引用為參照系,通過給定偏移量得到新的引用。返回的引用可以為一個單元格或單元格區域。並可以指定返回的行數或列數。
  • 初探offset函數
    在excel的眾多函數裡,offset的作用可以說是非同一般,可是這個函數往往也令很多初學者摸不著頭腦,因為這個函數非常的靈活多變
  • EXCEL中offset函數用法詳解
    文章發出後已經有人詢問這個函數的用法,本來學習EXCEL函數是要循序漸進的,不應該開始就講,但是為了真的能為大家的面試加分,今天就來說說offset函數的用法。offset函數和其他函數一樣,都有語法和解釋,但是offset和其他函數不一樣的地方在於:不通過實操即使你把語法和解釋都背會了都沒用,因為只有通過實操你才能發現offset的應用場景,而善於發現函數的應用場景(解決問題的思路)才是最重要的!
  • offset函數公式的使用實例
    offset在excel表格中是一個非常厲害的函數,它在下拉菜單、動態圖表、動態引用操作中有不可替代的作用,今天我們就來學習一下offset函數公式的使用。  excel中offset函數功能在excel中offse函數也同彙編語言一樣也表示地址偏移,offse函數的主要功能是返回對單元格或單元格區域中指定行數和列數的區域的引用。 返回的引用可以是單個單元格或單元格區域。 可以指定要返回的行數和列數。
  • Excel函數:提取數據透視表數據的方法
    在遇到複雜數據需要做統計分析的時候,我們會經常使用到excel的一個絕密武器,那就是數據透視表。如果在做完數據透視表之後,需要單獨提取數據透視表中的其中的單個數據應該怎麼辦呢?今天,小編就給大家分享這樣一個函數:函數功能:返回存儲在數據透視表中的數據,可以在數據透視表中檢索匯總數據函數參數:=getpivotdata(Data_field,Pivot_table,[field1,item1, field2,item2……)參數詳解:Date_field:必需。
  • OFFSET函數:快速精準定位你想要的數據結果或區域範圍!
    今天為大家分享OFFSET函數,OFFSET函數作為引用函數運用比較廣泛,它主要通過設定一個目標位置,通過向量位移,確定新的位置,從而返回相應的值或區域。函數哥不太用這個函數,可以一時用不上而已,不過其強大的引用功能,還是值得我們深入學習,畢竟技不壓身,而且區域引用是函數的常規操作。
  • excel函數公式大全之利用LARGE函數和SUM函數提取前五名銷售額
    excel函數公式大全之利用LARGE函數和SUM函數提取前五名銷售額,excel函數與公式在工作中使用非常的頻繁,會不會使用公式直接決定了我們的工作效率,今天我們來學習一下提高我們工作效率的函數LARGE函數和SUM函數。
  • excel數據提取:查找批量訂單中的手機號碼
    如何在excel中快速的提取手機號碼,已經是一個老生常談的話題了。在CTRL+E問世後,關於提取數據的問題都變得簡單了很多,不得不承認,它的確是一個相當優秀的功能。但是它並不是萬能的,仍然有一些提取數據的問題需要公式才能解決。
  • excel數據提取:查找批量訂單中的手機號碼
    如何在excel中快速的提取手機號碼,已經是一個老生常談的話題了。在CTRL+E問世後,關於提取數據的問題都變得簡單了很多,不得不承認,它的確是一個相當優秀的功能。但是它並不是萬能的,仍然有一些提取數據的問題需要公式才能解決。
  • 快速提取較為麻煩的文本數據,必須活用函數left、right和mid
    昨天主要內容就是首先為大家簡單介紹了excel中函數left、right和mid基本語法形式,然後通過實例的方式介紹了這三種函數的基本運用方法。如何提取文本數據中的關鍵數據?函數left、right、mid來助你)我們今天還是在上述案例的基礎進行講解。首先我們來思考兩個問題。問題一:應對「第三位到第六位編碼」一欄,我們使用的是函數mid來提取文本數據的,但是這裡還可以運用其他函數來提取文本數據嗎?