我需要在表中搜索一個值并重新計算相應行的最后一列的值(如果要簡化功能,我可以橫向行和列)。例如,我有下表,當我給出搜索值 75 時,我想要值 204(同一行的最后一列的值)。最后一列也可以移動到第一列,以防它有助于該功能。我嘗試使用索引、匹配和查找,但這些函式需要一個列陣列來搜索。
41 42 43 44 61 62 63 64 81 82 83 84 101 102 103 104 201
45 46 47 48 65 66 67 68 85 86 87 88 105 106 107 108 202
49 50 51 52 69 70 71 72 89 90 91 92 109 110 111 112 203
53 54 55 56 73 74 75 76 93 94 95 96 113 114 115 116 204
57 58 59 60 77 78 79 80 97 98 99 100 117 118 119 120 205
121 122 123 124 141 142 143 144 161 162 163 164 181 182 183 184 216
125 126 127 128 145 146 147 148 165 166 167 168 185 186 187 188 217
129 130 131 132 149 150 151 152 169 170 171 172 189 190 191 192 218
133 134 135 136 153 154 155 156 173 174 175 176 193 194 195 196 219
uj5u.com熱心網友回復:
=INDEX($Q$1:$Q$9,AGGREGATE(14,6,1/($A$1:$P$9=R12)*ROW($A$1:$P$9),1))
如果表格的第一行不是第一行,請參閱下面的注釋進行調整

怎么運行的:
($A$1:$P$9=R12)回傳一個在相等點處FALSE具有 a的 2D 陣列TRUE。1/...回傳的陣列#DIV/0!和一個1用于TRUE- 乘以
ROW(...)得到行號 - 使用該行號
INDEX進入表格。- 請注意,如果表格不是從第 1 行開始,則需要從計算的行號中減去表格的第一行 (-1)。
- 如果您使用表格或命名范圍,則可以將其設為動態。
編輯:更簡單的公式
如果您只需要一個結果(例如,表中的所有條目都是唯一的,您可以使用:
=INDEX($Q$1:$Q$9,MAX(($A$1:$P$9=R12)*ROW($A$1:$P$9)))
uj5u.com熱心網友回復:
我會像這樣將 index() 與 match() 一起使用:

因此,使用 iferror() 和 match() 來檢查每一列,如果找到則回傳位置,如果沒有則回傳空白。
然后 index() 和 max() 來獲取找到的位置并回傳 Q 列的值。
拖動到 P15 的單元格 A15 中的公式為
IFERROR(MATCH($S$2,A4:A12,0),"")
單元格 T2 中的公式是
INDEX(Q4:Q12,MAX(A15:P15))
單元格 S2 是您要查找的值。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/408257.html
標籤:
