%20%E5%87%BD%E6%95%B8%E7%B5%90%E6%9E%9C%E7%9A%84%E8%A1%8C%EF%BC%9F.png)
我有兩個格式相同的值表。一張表是「主」表,另一張表是「歷史」表。每一行都是不同的記錄。我試圖確定歷史表中出現的哪些(如果有)記錄未出現在主表中。
這些桌子是一組採礦鑽孔。每個鑽孔都有一個 ID、x 和 y 座標以及兩個用於描述其方向的角度欄位。
通常,這將是一個簡單的練習,因為我只需檢查歷史資料集中找到的所有孔 ID 是否也在主資料集中找到。
問題是從那時到現在,一些鑽孔被重新命名。我的下一個選擇是找到匹配的座標。問題是,從那時到現在,給定孔的座標可能會變化幾公尺。
到目前為止,我已經設定了一個函數,它將獲取「歷史」表中的每個洞,並找到到「主」表中最近的洞的距離。該函數如下:
{=MIN(SQRT((('歷史'!D4-('大師'!$C$3:$C$2419))^2+('歷史'!E4-('大師'!$D$3:$D$2419 ))^2)))}
此數組函數查看歷史資料集中的每個孔(本例中的第4 行),取得其x 座標(D 列)和y 座標(E 列),並使用「主」標籤中的每對座標執行畢達哥拉斯定理計算。與 MIN() 函數配合使用,這將找到到主表中座標的最小直線距離。
我的問題是,如何找出主表中的哪一行產生了這些最小距離座標?傳回的最小值是使用目標行中的值計算的值,因此我不能直接搜尋它。
我希望問題很清楚並且我已經提供了足夠的背景資訊。
答案1
你會使用MATCH
:
=MATCH(MIN(SQRT((Historical!D4-Master!$C$4:$C$2420)^2+(Historical!E4-Master!$D$4:$D$2420)^2)),SQRT((Historical!D4-Master!$C$4:$C$2420)^2+(Historical!E4-Master!$D$4:$D$2420)^2),0)
(我從你的結構中刪除了一些無關的括號。)
顯然,上述內容仍然需要作為array formula
.
問候