前陣子進行資料採集,有乙個軟體輸出的資料是以每行249個來輸出的,而我們當時的資料採集要求是每行240個,這樣就需要將這些資料重新排列。當時採用了笨方法,純手工打造,每行用手重新輸入的,費了好大力氣。
這陣子有些輕閒,所以上網去搜尋了下方法。沒想到碰到高人指點,茅塞頓開。不敢獨享,特此拿出來大家共勉。
我這裡舉個簡單的例子吧:
原始資料(4行8列):12
3 4
5 6
7 8 910
11 12
13 14
15 16
1718
19 20
21 22
23 24
25 26
27 28
29 30
準備轉換成為每行5個資料(即:6行5列),目標資料:12
3 4 5 6
7 8
9 10
11 12
13 14
15 16
17 18
19 20
21 22
23 24
25 26
27 28
29 30
在excel中目標區的公式輸入為:=offset($a$1,int(((row()-5)*5+column()-1)/8),mod((row()-5)*5+column()-1,8))
這樣就可以在目標區域得到我們想要的資料了。
上圖中a5到e10的公式就是「=offset($a$1,int(((row()-5)*5+column()-1)/8),mod((row()-5)*5+column()-1,8))」
下面說說這樣做的原理:
1.用(row()-1)*5+column()-1根據行列的變化生成乙個序列
第一行是0,1,2,3,4
第二行是5,6,7,....依次類推
2.用int(((row()-1)*5+column()-1)/8)來使上述序列在是8的多少整數倍,從而得到行偏移量
3.用mod((row()-1)*5+column()-1,8)來得到列偏移量
4.利用offset得到結果。
php陣列進行打亂,重新排列
最近做專案遇到這樣乙個問題,是關於乙個考試的專案 要求a b c d的答案不能始終在一樣的位置,所以就要進行重新組裝隨機出來了。黏上 header content type text html charset utf 8 array choice 直角三角形 銳角三角形 鈍角三角形 天角三角形 fu...
重新排列引數
重新排列引數 重新排列引數操作可以使你重新排列方法 索引器中的引數。你將方法的引數重新排列後,所有使用該方法的地方都會相應調整。以下面 為例 class person class program 將游標放置在 print 方法上使用 重新排列引數 命令,將會彈出下面對話方塊 29.16 圖29.16...
重新排列鍊錶
leetcode leetcode上有下面這樣乙個題目,比較有意思,拿來實現,權當練習基本功了 total accepted 8598 total submissions 44508 my submissions given a singly linked list l l 0 l1 l n 1 l...