Board logo

標題: [發問] 計算儲存格有資料的部分除以2複製到右邊(感謝r 大大再次細心的解答)(5/2更新) [打印本頁]

作者: av8d    時間: 2012-4-11 10:07     標題: 計算儲存格有資料的部分除以2複製到右邊(感謝r 大大再次細心的解答)(5/2更新)

本帖最後由 av8d 於 2012-5-2 08:29 編輯

姓名1.2.3.4~姓名2.4會同長~希望可以計算姓名2或4的資料長度除以2~貼到姓名5.6.7.



[attach]10400[/attach]
                                                                  原始圖


以G2:G20來判斷~一共有19格~19/2=9餘1~有餘數無條件+1~所以左邊留10列~其餘9列移動到右邊



[attach]10401[/attach]
                                                                  完成圖
不知道是否有這個功能,由於姓名1.2.3.4的資料內都有函數,所以如果是剪下貼上必須是貼上值。
作者: register313    時間: 2012-4-11 14:16

回復 1# av8d

活動廣告:
1.發問者請上傳EXCEL壓縮檔(小學生也可以)
2.配合EXCEL檔請把功能說明清楚


[attach]10403[/attach]
M2=IF(OR(D2="",ROW()>ROUNDUP((COUNTA($G:$G)-1)/2,0)+1),"",OFFSET($D$2,ROW()-2,COLUMN()-13))
Q2=IF(OR(OFFSET($D$2,ROW()-2+ROUNDUP((COUNTA($G:$G)-1)/2,0),COLUMN()-17)="",ROW()>ROUNDUP((COUNTA($G:$G)-1)/2,0)+1),"",OFFSET($D$2,ROW()-2+ROUNDUP((COUNTA($G:$G)-1)/2,0),COLUMN()-17))
作者: av8d    時間: 2012-4-12 12:55

回復 2# register313


    謝謝大大~簡單來說就是ABC欄各有100列資料~因為Excel沒有像Word一樣有分欄的功能~

希望把ABC欄的51~100列分到DEF欄~讓列印資料時避免浪費紙張!

如需要Excel我整理一下~上傳給您!
作者: register313    時間: 2012-4-12 13:08

回復 3# av8d

1. 2# 的2個公式即是答案,請依實際儲存格之分佈情形去修正公式
作者: av8d    時間: 2012-4-16 15:24

回復 4# register313


    非常感謝大大的幫忙~有個進階版的問題~不知道是否可請大大再幫忙? 謝謝!
[attach]10464[/attach]

附件中
工作區-->一般只使用到編號/姓名/地址,其餘都是函數輔助用途。
列印設定-->當  每欄?列  下方輸入35(此描述代表著列印區的每欄資料有35筆)(1~36=35筆)
                -->當  共分?欄  下方輸入3(此描述代表著列印區共分成3欄)
列印區-->完成後的結果

不知道是否有辦法做出這樣的對照功能?
作者: register313    時間: 2012-4-16 17:54

回復 5# av8d
  1. Sub printx()
  2. LR = Sheets("工作區").[A65536].End(xlUp).Row - 1
  3. R = Sheets("列印設定").[A2]
  4. C = Sheets("列印設定").[B2]
  5. N = Application.RoundUp(LR / R, 0)
  6. Sheets("列印").Cells = ""
  7. CX = 0
  8. With Sheets("工作區")
  9.   For NX = 1 To N
  10.     RX = Application.RoundUp(NX / C, 0) - 1
  11.     If CX = C Then CX = 0
  12.     .[A1:C1].Copy Sheets("列印").[A1].Offset((R + 1) * RX, 3 * CX)
  13.     .[A2].Resize(R, 3).Offset(R * (NX - 1), 0).Copy
  14.     Sheets("列印").[A2].Offset((R + 1) * RX, 3 * CX).PasteSpecial Paste:=xlPasteValues
  15.     CX = CX + 1
  16.   Next NX
  17. End With
  18. End Sub
複製代碼

作者: register313    時間: 2012-4-16 23:26

本帖最後由 register313 於 2012-4-16 23:39 編輯

回復 5# av8d

"列印"工作表之
A2=IF(ROUNDUP(COLUMN()/3,0)>列印設定!$B$2,"",OFFSET(工作區!$A$2,MOD(ROW()-2,列印設定!$A$2)+(ROUNDUP(COLUMN()/3,0)-1)*列印設定!$A$2+(ROUNDUP((ROW()-1)/列印設定!$A$2,0)-1)*列印設定!$A$2*列印設定!$B$2,MOD(COLUMN()-1,3),,))
向右複製,向下複製
作者: av8d    時間: 2012-4-19 09:36

回復 7# register313


    兩個方法都OK~大大您實在太強了~函數和VBA都熟~讓小的相當佩服!! 給你一個讚!!
作者: av8d    時間: 2012-5-1 16:45

回復 2# register313


[attach]10773[/attach]
    大大~請問要如何完成1-1~4-2的函數呢?可能是我公式還沒完全摸清楚!
作者: register313    時間: 2012-5-1 18:50

回復 9# av8d

你附件裡的公式沒錯
但所顯示之答案為何不對

關鍵在於
      COUNTA($H:$H)  H欄有公式199個,造成計數個數為199 (錯誤)
若改為COUNTA($C:$C)   C欄有值7個,計數個數為7 (正確)

=>2個公式裡的COUNTA($H:$H)全改為COUNTA($C:$C),即可正確顯示




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)