使用 ImportHTML 或 ImportXML 在 Google 表格中選擇不連續的列、刪除行和添加排序列 (Using ImportHTML or ImportXML to Select Non-Consecutive Columns In Google Sheets, Remove Rows, & Add A Sort Column)


問題描述

使用 ImportHTML 或 ImportXML 在 Google 表格中選擇不連續的列、刪除行和添加排序列 (Using ImportHTML or ImportXML to Select Non‑Consecutive Columns In Google Sheets, Remove Rows, & Add A Sort Column)

我想從 https:// 導入表格信息www.pro‑football‑reference.com/years/2020/draft.htm 進入谷歌表格。但是,我試圖避免拉入空單元格以及我在其他工作表中已經擁有的信息。以下是我的問題:

  1. 我想要的唯一列是 Round (col1)、Pick (Col2) 和 Player (Col4)。我已經嘗試過使用 ImportHTML,到目前為止,我所能做的就是抓取整個表格。
  2. 我想創建一個名為“Rd.Pick”的新列,它將選擇列轉換為什麼的表示在各自的回合中選擇他們。所以又名 Pick 33 將顯示 2.1
  3. 最後,我希望能夠刪除在一輪的最後一個選秀之間但在下一輪的第一個選秀之前列出的行。鑑於這些行中的文本與標題行匹配,我不確定該怎麼做。

參考解法

方法 1:

try:

=ARRAYFORMULA(QUERY({
 QUERY(IMPORTHTML("https://www.pro‑football‑reference.com/years/2020/draft.htm", 
 "table", 1), "select Col4"), 
 QUERY(IMPORTHTML("https://www.pro‑football‑reference.com/years/2020/draft.htm", 
 "table", 1), "select Col1")&"."&
 QUERY(IMPORTHTML("https://www.pro‑football‑reference.com/years/2020/draft.htm", 
 "table", 1), "select Col2")}, "where not Col2 matches '\.'", 1))

enter image description here

方法 2:

This is just to answer the question from your comment above ‑ how to convert the sequential draft pick number to a number like 3.12, 12th pick in the 3rd round. This formula is a bit brute force, but it works:

={"Round‑Pick";
ArrayFormula(ifna(ifs(
  D2:D=1,"1."& text(E2:E,"00"),
  D2:D=2,"2."& text(E2:E‑max(filter(D$2:E,D$2:D=1)),"00"),
  D2:D=3,"3."& text(E2:E‑max(filter(D$2:E,D$2:D=2)),"00"),
  D2:D=4,"4."& text(E2:E‑max(filter(D$2:E,D$2:D=3)),"00"),
  D2:D=5,"5."& text(E2:E‑max(filter(D$2:E,D$2:D=4)),"00"),
  D2:D=6,"6."& text(E2:E‑max(filter(D$2:E,D$2:D=5)),"00"),
  D2:D=7,"7."& text(E2:E‑max(filter(D$2:E,D$2:D=6)),"00")
  ),""))}

If you put that in NFLDraft!F1, it should do what you want. You could then hide Column E if you like.

UPDATED: To provide the format you've requested, with leading zero. enter image description here

(by InStackOfHelpplayer0kirkg13)

參考文件

  1. Using ImportHTML or ImportXML to Select Non‑Consecutive Columns In Google Sheets, Remove Rows, & Add A Sort Column (CC BY‑SA 2.5/3.0/4.0)

#google-sheets-importxml #google-sheets-query #web-scraping #google-sheets #array-formulas






相關問題

Masalah dengan fungsi Google Spreadsheets ImportXML (Problems with Google Spreadsheets ImportXML function)

如何從網站獲取數據並將其放入表格 (How to take data from a website and put it into Sheets)

Google 表格 IMPORTXML 查詢 (Google Sheets IMPORTXML query)

如何優化 importXML 函數的結果? (How do I refine the results of an importXML function?)

在繼續 Javascript (GAS) 之前允許窗口計算 (Allow the window to calculate before continuing Javascript (GAS))

Web Scrape 返回 N/A,不確定如何保持數據返回 (Web Scrape returns N/A, not sure how to keep the data returning)

Google 表格 ImportXML 錯誤:無法解析導入的 XML 內容 (Google Sheets ImportXML Error: Imported XML content cannot be parsed)

ImportXML "//tr/td[@class='X']" 只有在 "//tr" 裡面還有 "//tr/td[@class='Y']" (ImportXML "//tr/td[@class='X']" only when inside "//tr" there is also "//tr/td[@class='Y']")

使用 importXML 從 URL 中批量查找售罄的產品頁面 (Finding sold out product pages from URL in bulk using importXML)

使鏈接描述指向 IMPORTXML 語句中的鏈接引用 (Making Link Description point to Link Reference in IMPORTXML statement)

如何從 XML 導入 Google 表格中的所有元素節點 (How to Import All Element Nodes in Google Sheets from XML)

使用 ImportHTML 或 ImportXML 在 Google 表格中選擇不連續的列、刪除行和添加排序列 (Using ImportHTML or ImportXML to Select Non-Consecutive Columns In Google Sheets, Remove Rows, & Add A Sort Column)







留言討論