我有一個由建筑資訊組成的資料。 樓層Floor_Area_Num.
| A | B | ||
|---|---|---|---|
| 樓層 | 樓層面積_Num | 001 | 1-1 | 001 | 1-2 | 1-2
| 1-2 | 001 | 1-3 | 1-3|
| 1-3 | 001 | 1-4 | 1-4|
| 1-4 | 001 | 1-5 | 1-5|
| 1-5 | 001 | 1-6 | 1-6|
| 1-6 | 001 | 1-7 | 1-7|
| 1-7 | 001 | 1-8 | 1-8|
| 1-8 | 002 | 2 | 2-2 |
| 2-2 | 002 | 2-3 | 2-3|
| 2-3 |
我希望有另一列可以從0開始每5行遞增1(其中樓層列是相同的),但當它是一個新的樓層時,它應該回落到0。 像這樣:
| A | B | C | |||||
|---|---|---|---|---|---|---|---|
| 樓層 | 樓層面積 | 樓層面積 | num | <001 | 1-1 | 0 | |
| 0 | 1-2 | ||||||
| 0 | 1-2 | 0 | |||||
| 0 | 001 | 1-3 | 0|||||
| 0 | 001 | 1-4 | 0|||||
| 0 | 001 | 1-5 | 1-50|||||
| 0 | 001 | 1-6 | 1-61|||||
| 1 | 001 | 1-7 | 1-7 | 1 | |||
| 1 | 001 | 1-8 | 1-8|||||
| 1 | 1 | ||||||
| 1 | 0 | ||||||
| 0 | 002 | 2-2 | 2-2 | ||||
| 0 | 2-2 | 0 | |||||
| 0 | 002 | 2-3 | 2-3 | 2-3 | 2-3 | 2-3 | 2-3 |
| 0 | 2-3 | 0 | |||||
| 0 |
到目前為止,我正在使用這個。
=INT((ROW(C2)-2)/5) 1 這讓我每5行遞增1。
但我不確定如何在Floor值發生變化時將其改回0。
有什么建議嗎?
編輯:不是所有的Floor_Area_Num都有連字符的數字。 有些樓層的開頭也含有字母,比如:
| A | B | C | |
|---|---|---|---|
| 樓層 | 樓層面積 | 樓層面積 | num | <A01 | A101 |
| A101 | A01 |
現在反映上述情況,上面的Num列應該是這樣的。 |A|B|C| |-|-|-| |樓層|樓層面積_Num|num| |A01| A101| 0 | |A01 | A102 | 0 | |A01 | A103 | 0 | |A01 | A104 | 0 | |A01 | A105 | 0 | |A01 | A106 | 1 | |A02| A201 | 0 | |A02 | A202 | 0 | |A02 | A203 | 0 | |A02 | A204 | 0 | |A02 | A205 | 0 | |A02 | A206 | 1 | |MB1 | MB101-A| 0 | |MB1 | MB101-B | 0 | |MB1 | MB101-C | 0 | |MB1 | MB101-D | 0 | |MB1 | MB101-E | 0 |
當它是一個新的樓層時,數字應該回到0,就像你在上面看到的那樣,只有在同一樓層的第5步之后才會遞增1。
uj5u.com熱心網友回復:
在C2中嘗試:
=IF(A2<>A1,0,INT((COUNTIF(A$2:A2,A2)-1)/5))
uj5u.com熱心網友回復:
你可以試試類似的方法
=IF(IFERROR(LEFT(B2,SEARCH("-", B2)-1), "!")<>
iferror(LEFT(B1,SEARCH("-", B1)-1), "!"), 0,
if(mod(numbervalue(right(b1, len(b1)-search("-", b1)),5)=0, c1 1, c1)
首先,我們測驗一下地板是否發生變化。如果改變了,我們就從0重新開始。
接下來,我們使用正常的字串函式,如RIGHT、LEN和SEARCH,來獲得區域編號。如果前一個區域是5的倍數,那么我們就在計數器上加1,如果不是,我們就重復計數器。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/323567.html
標籤:


