2012-10-09 79 views
0

我昨天提出了此問題,並且希望向他的解決方案大聲喊出VertexVortex。當我在工作表的工作副本上實現我的演示公式時,我無法使其工作 - 第二行之外的公式不能正確輸出。原帖是在這裏:當單元格值爲TRUE時,函數/宏將檢索單元格值和輸出到另一個工作表

Original Thread

該工作簿的目的是,作爲一個測試人員通過每一步運行,他們標出該產品是否通過或失敗。如果步驟失敗,測試人員會記錄關於發生這種情況的原因。在第二張表格「執行摘要」中,我需要它輸出所有失敗步驟的列表以及關於失敗原因的註釋。

Here's the Workbook

Here's a screenshot of the first worksheet -- the "steps" and pass/fail checkboxes

Here's the second worksheet -- where the failed steps and notes are supposed to be output

在第二片工作的第2個公式 - 返回失敗的第一步,並從該步驟的音符。對於這些細胞,這要歸功於VertexVortex,我用:

=INDEX(tests,MATCH(TRUE,fails,0)) ///formula for 'section/step' cell 
=INDEX(notes,MATCH(TRUE,fails,0)) ///formula to output notes from first fail 

我還要提到的是有人告訴我第一個工作表上創建命名範圍 - 「測試」是注意到部分/步之列,「失敗'是包含失敗複選框的列的名稱範圍,'notes'是包含註釋的列的命名範圍,表示步驟失敗的原因。

除此之外的行讓我感到困惑 - 該公式適用於我在之前的文章中設置的演示,但不再返回任何值。我的公式是:

=IFERROR(INDEX(OFFSET(tests,MATCH(K57,tests,0),0),MATCH(TRUE,OFFSET(fails,MATCH(K57,tests,0),0),0)),"") ///formula for outputting the second 'section/step' cell that has failed 
=IFERROR(INDEX(OFFSET(notes,MATCH(K57,tests,0),0),MATCH(TRUE,OFFSET(fails,MATCH(K57,tests,0),0),0)),"") //formula to output the notes from the second fail 

如果有一種方法可以做到這一點,涉及到宏或不同的解決方案,我所有的耳朵。我很感謝大家對此的幫助。

回答

1

OFFSET無法在整列上工作,所以您應該將命名範圍更改爲實際的單元格範圍。使fails(和其他範圍)等於=Testing!$R$1:$R$10000(你可以通過按CTRL + F3編輯這個),這使它適用於我。

但是如果進一步測試一下,如果有相同名稱的測試/步驟(如25. Enter City/equivalent),則此公式會中斷,因爲「歷史記錄」查找依賴於從先前找到的測試的名稱開始。

我會建議使用一種不同的方法,通過在Executive Summary工作表(我使用H列)中添加一個實用程序列,在每個找到TRUE後縮小範圍。

在步驟和註釋欄,使用

=IFERROR(INDEX(tests,$H57),"") 
=IFERROR(INDEX(notes,$H57),"") 

,並在新的列,在所述第一小區(H57),放=MATCH(TRUE,fails,0)並且在下面的行,

=MATCH(TRUE,OFFSET(fails,$H57,0),0)+$H57 

和這應該做的伎倆。

編輯:我故意在後面的列中沒有使用IFERROR,所以如果需要調試會更容易。

+0

真棒謝謝你的幫助。我在Reddit上與一位用戶一起工作過,他確切地說過你做了什麼 - 該偏移量不能用於整列,而且這些步驟不能使用相同的名稱。我想添加這個作爲答案,但你擊敗了我。我在每個步驟中添加了部分名稱,以便爲它們指定獨特的名稱並調整範圍並使其正常工作。非常感謝您爲此提供幫助。 –

相關問題