2013-10-01 71 views
-1

我在Excel中有一個表格,其中包含列和行標題以及相應的值。如何在Excel中按表中的值查找列和行標題名稱/索引?Mathematica在Excel中的位置函數用於按值查找矩陣

在數學等價功能位置[listoflist,值]

編輯:


我做在VBA的簡單功能,但這是遠遠不夠完善

Function MathematicaPosition(lookvalue As Range, TableRange As Range, RowOrColumn As Boolean) As Integer 
Dim r As Integer 
Dim c As Integer 
Dim tempindex As Integer 
Dim i As Integer, j As Integer 

tempindex = 0 
r = TableRange.Rows.Count 
c = TableRange.Columns.Count 
For i = 1 To r 
    For j = 1 To c 
     If lookvalue.Value = TableRange.Cells(i, j).Value Then 
      tempindex = IIf(RowOrColumn, i, j) 
     End If 
    Next j 
Next i 
MathematicaPosition = tempindex 
End Function 
+0

爲什麼Mathematica標籤被刪除? – denfromufa

+0

我在這方面幾乎沒有找到任何指導,但我同意@belisarius - 在極端情況下,「如何按字母順序排序?」不適合說一個[英文]標籤。 「標籤是描述問題主題的詞或短語。標籤是一種連接專家的方式,他們可以通過將問題分類到特定的,明確定義的類別來回答問題。「[參考資料](http://stackoverflow.com/help/tagging)。對我來說,一個[mathematica]標籤意味着你正在尋找'位置' - 但你已經知道了。 – pnuts

回答

0
Function MathematicaPosition(lookvalue As Range, TableRange As Range, RowOrColumn As Boolean) As Integer 
Dim r As Integer 
Dim c As Integer 
Dim tempindex As Integer 
Dim i As Integer, j As Integer 

tempindex = 0 
r = TableRange.Rows.Count 
c = TableRange.Columns.Count 
For i = 1 To r 
    For j = 1 To c 
     If lookvalue.Value = TableRange.Cells(i, j).Value Then 
      tempindex = IIf(RowOrColumn, i, j) 
     End If 
    Next j 
Next i 
MathematicaPosition = tempindex 
End Function 
0

假設數據數組是在A1擡升直接從MrExcel

:D5:

在G2:=COUNTIF(B2:D5,G1)

在G4:=IF(ROWS($G$4:G4)>$G$2,"",INDEX($A$2:$A$5,INT(SMALL(IF($B$2:$D$5=$G$1,(ROW($B$2:$D$5)-ROW($B$2)+1)*10^5+COLUMN($B$2:$D$5)-COLUMN($B$2)+1),ROWS($G$4:G4))/10^5)))

在H4:=IF(ROWS($G$4:G4)>$G$2,"",INDEX($B$1:$D$1,MOD(SMALL(IF($B$2:$D$5=$G$1,(ROW($B$2:$D$5)-ROW($B$2)+1)*10^5+COLUMN($B$2:$D$5)-COLUMN($B$2)+1),ROWS($G$4:G4)),10^5)))

後兩個輸入Ctrl + Shift + 輸入並複製下來。

我不知道Mathematica,並不明白reverse values(基本上是否乘以-1或切換列)。

+0

這使用數組公式,這對於大數據集操作來說非常笨拙。此外,這個公式看起來不可讀,也不是一般化的。 – denfromufa

+0

「我在Excel中有一張桌子」和「我如何在Excel中查找」,我的印象與我現在瞭解的印象相差甚遠。我不會刪除我的答案,因爲它可能會引起其他人的興趣,但如果我知道這是一個'數量'要求,我會發布一些截然不同的東西(並且更簡單 - 沒有公式)。 – pnuts

+0

爲什麼你在公式中有10^5乘數? – denfromufa