0

在数字应用表中,我有以下数据

   A          B                     C                 D
user_id     login                user_id        login
2039        Abbott, Rachael                     Adams, Sue
110         Abbott, Shelby                      Adamson, Wendy
2910        Abraham, Binu                       Anderson, Daryl
121         Adams, Sue
122         Adamson, Anne
126         Adamson, Wendy

我正在尝试编写一个将...

  1. 向下迭代 D 列中的登录
  2. 在 B 列中查找匹配的登录名
  3. 在找到匹配的行的 A 列中获取 user_id 的值
  4. 并将其放入与 D 列中的条目相同的行中的 C 列
set dName to "correlationstudies.numbers"
set sName to "users"
set tName to "Table 1"
set login_row to 2
set login_w_id_row to 2

tell application "Numbers" to tell document dName to tell sheet sName to tell table tName
   repeat
      set login to value of cell login_row of column 4
      if login = "" then exit repeat
      set login_w_id_row to 2

      repeat
         set logincomp to value of cell login_w_id_row of column 2
         if logincomp = login then
            set value of cell login_row of column 3 to value of cell login_w_id_row of column 1
            exit repeat
         end if
         set login_w_id_row to login_w_id_row + 1
      end repeat
      set login_row to login_row + 1
   end repeat
end tell
4

1 回答 1

1

AppleScript 对于您尝试做的事情可能是多余的。在 numbers 文档中,查看 VLOOKUP 函数,它传递了一个要查找的值、一组要查找的单元格以及要返回的值的列。我只能通过交换 user_id 和 login 列的顺序来使其工作,但是一旦我将登录名放入 A 列并将 user_id 放入 B 列,设置单元格 C1=VLOOKUP(D2, A2:B7, 2 ) 成功返回 121 .

于 2011-03-11T11:42:03.073 回答