亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

是否有 Excel 等效方法來模仿 pandas.DataFrame.iloc?

是否有 Excel 等效方法來模仿 pandas.DataFrame.iloc?

婷婷同學_ 2023-07-05 10:06:52
給定一個包含 30 行數據的 Excel 電子表格,如下所示:|------|------------||  id  |    text    ||------|------------||   1  |    apple   ||   2  |    apple   ||   3  |   banana   ||   4  |    apple   ||   5  |   orange   ||  ... |    ...     ||  30  |   orange   ||------|------------|我想知道是否有一種方法可以進行基于整數位置的索引。例如,如果我想返回從第 2 行開始的前 3 行,我將使用df.iloc[2:5]:expected output:|------|------------||   2  |    apple   ||   3  |   banana   ||   4  |    apple   ||------|------------|我最終想要在 Excel 中指定 (1) 起始位置和 (2) 從起始位置返回的行數(例如,返回從 id=21 開始的 10 行)。我嘗試過使用 INDEX 創建數組,但無法弄清楚。
查看完整描述

2 回答

?
侃侃爾雅

TA貢獻1801條經驗 獲得超16個贊

為此,您需要兩個函數:

MATCH 將在范圍內查找值并返回其位置。 INDIRECT 將允許您指定表示范圍的字符串,并將返回該范圍中包含的值。

匹配功能

間接函數

做了這樣的測試:

http://img1.sycdn.imooc.com/64a4d0640001a4aa11460575.jpg

我在K9中的公式是:

=INDIRECT("A"&MATCH(L4;A:A;0)&":B"&(MATCH(L4;A:A;0)-1+L5))

它是這樣工作的:

  1. MATCH(L4;A:A;0)會在A列中找到ID位置。因為我說我是在整列中搜索,所以返回的值是ID所在的行號。所以如果我想找到 ID 2,它將返回3。

  2. 我們將上一步中的數字與字符串結合起來,得到一個像 一樣的字符串A3:B5。5 是從MATCH(L4;A:A;0)-1+L5)我想要查找的 ID 的行號中獲得的,將要獲取的行數相加,然后減去 1。

  3. INDIRECT("A3:B5")是我想要的并且已返回。

注意:根據您的 Excel 版本,間接是否會自動擴展到相鄰單元格。

注 2:如果未找到 id,MATCH 將引發錯誤,并且公式將不起作用。

首先使用 COUNTIF 檢查 ID 是否存在于 A 列中,如果為真,則執行 MATCH 和 INDIRECT。像這樣的東西:

=IF(COUNTIF(A:A;L4)>0;INDIRECT("A"&MATCH(L4;A:A;0)&":B"&(MATCH(L4;A:A;0)-1+L5));"ID NOT FOUND")

如果返回的行數為 0 或更少,則相同。



查看完整回答
反對 回復 2023-07-05
?
catspeake

TA貢獻1111條經驗 獲得超0個贊

根據您的 Excel 版本,有多種公式。

如果您有動態數組(Excel 2016+,如果我沒記錯的話),您可以在單個單元格中輸入以下內容。如果您的 Excel 沒有動態數組,則需要進行修改。

=INDEX(fruitTbl,Start,0):INDEX(fruitTbl,Count+Start-1,0)

我將數據范圍轉換為 Excel 表,但如果您愿意,也可以使用常規尋址。對于表,第一行數據將是,1因為表僅返回數據主體范圍。

http://img1.sycdn.imooc.com//64a4d089000192a306290262.jpg

如果您沒有動態數組,請嘗試

在某個單元格中輸入:

=IFERROR(INDEX(INDEX(fruitTbl,Start,0):INDEX(fruitTbl,Count+Start-1,0),ROWS($1:1),COLUMNS($A:A)),"")
  • 然后向右拖動一列

  • 選擇兩個單元格并向下拖動至少直到您開始看到空白單元格


查看完整回答
反對 回復 2023-07-05
  • 2 回答
  • 0 關注
  • 136 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號