簡體   English   中英

如何在谷歌表格上以任何順序檢查包含特定數字的單元格?

[英]How to check a cell that contains the specific number in any order on google sheets?

我想問一下如何在谷歌表上做到這一點。 我花了幾天時間尋找教程,但我找不到正確的答案或關鍵字來搜索。

我在 A 上有一個 ID 編號列表,在 B 上聲明了一組數字,我希望我的公式檢查 A 的單元格是否包含以任何順序來自 B 的一組數字。

例子:

A2的ID號為120,我的B2搜索021,只要B中的數字與A中的數字相同,無論是順序還是順序,它都會在C2上回復YES。

請幫忙,謝謝!

床單

作為自定義功能:

function IMPORTJSON(VS) {
  const ss = SpreadsheetApp.getActive();
  const sh = ss.getActiveSheet()
  const vs = VS.filter(r => r[0] && r[1]);//both must have values
  const mA = [];//match array
  vs.forEach((r,i) => {
    let A = r[0].toString().split("").sort((a,b) => a - b).join("");
    let B = r[1].toString().split("").sort((a,b) => a - b).join("");
    if(A == B) {
      mA.push(`A: ${r[0]} B: ${r[1]} row: ${i+2}`)
    }
  });
  return mA.join("\n");
}

用法:

=IMPORTJSON("A2:B")

您可以使用一個可以說是更直接的自定義函數來做到這一點。

首先,通過選擇Tools > Script editor打開綁定腳本,並將以下函數復制到腳本中(檢查內聯注釋):

function SAME_NUMBERS(cell1, cell2) {
  if (cell1 && cell2) { // Check that both parameters are not empty
    const ordered1 = cell1.toString().split("").sort().join(""); // Sort value 1
    const ordered2 = cell2.toString().split("").sort().join(""); // Sort value 2
    return ordered1 === ordered2 ? "YES" : "NO"; // Check that both values match
  }
}

定義后,您可以像使用任何工作表內置函數一樣使用此函數。 對於 A 列和 B 列中的單元格,此函數接受兩個參數:

在此處輸入圖片說明

或者,在參數中傳遞完整范圍並調用一次函數:

function SAME_NUMBERS_ARRAY(values) {
  return values.map(row => {
    if (row[0] && row[1]) {
      const ordered1 = row[0].toString().split("").sort().join("");
      const ordered2 = row[1].toString().split("").sort().join("");
      return ordered1 === ordered2 ? "YES" : "NO";      
    }
  })
}

在此處輸入圖片說明

參考:

暫無
暫無

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

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