ªð¦^¦Cªí ¤W¤@¥DÃD µo©«

[µo°Ý] ¤½¦¡µ{¦¡½X¤Æ

[µo°Ý] ¤½¦¡µ{¦¡½X¤Æ

¥»©«³Ì«á¥Ñ ziv976688 ©ó 2021-7-24 01:07 ½s¿è

¤£¦n·N«ä¡AÀµ½Ð¦U¦ì¤j¤j«ü¾É©MÀ°¦£~
½Ð±N¤U¦C¤½¦¡µ{¦¡½X¤Æ¡C
ÁÂÁ¡I
¤½¦¡µ{¦¡½X¤Æ.rar (85.64 KB)
Sheets("·Ç2¶i3")!D2ªº­ì¤½¦¡
=LEFT(TEXT(SUM(TEXT(MOD(M2+(0&TRIM(MID(SUBSTITUTE(V2,",","         "),1+{0,1,2,3,4}*9,9))),49),"[=0]!49")*10^{8,6,4,2,0}),"00!,00!,00!,00!,00"),IF(V2="",0,2+3*(LEN(V2)-LEN(SUBSTITUTE(V2,",",)))))
¥k©Ô¨ìJ2¡A¦A¤U©Ô¨ì.Range("J" & .[B2].End(xldown).row - 1) ¶ñº¡

Module 1
¤å¦r»¡©ú¡G
³Æµù¡G
1_­n¬Û¥[ªº2­Ó¥Ø¼ÐÀx¦s®æ=M:S©MV:AB¤G­Ó°Ï¬q¤§¦P¦Cµ¥Äæ¶Z(¶¡¹j8Äæ)ªº¦UÀx¦s®æ¡C
2_VB2:AB" & .[B2].End(xldown).row - 1) = ""ªºÀx¦s®æ¤£­pºâ(²¤¹L)¡C
3_¾l¼Æ=0®É¡Aµø¦P=49¡C   
4_¦³Åã¥Ü2­Ó(§t)¥H¤W®É¡A«h¥H","²Å¸¹°Ï¹j¡C
¹ê¨Ò»¡©ú¡G
Sheets("·Ç2¶i3")
·íV2<>""®É¡A«hD2=(M2ªº­È+V2ªº­È)/49 =>¨ú¾l¼Æ
EX¡GD2 =MOD(11+8,49)=19
EX¡GD2 =MOD(11+27,49)=38
§YD2=19,38
¡G
¡G
·íAA2<>""®É¡A«hI2=(R2ªº­È+AA2ªº­È)/49 =>¨ú¾l¼Æ
EX¡GI2 =MOD(42+30,49)=23
§YI2=23
¡G
¡G
·íW13<>""®É¡A«hE13=(N13ªº­È+W13ªº­È)/49 =>¨ú¾l¼Æ
EX¡GE13 =MOD(04+0,49)=04
EX¡GE13 =MOD(04+45,49)=49
§YE13=04,49
¡G
¡G
·íAB26<>""®É¡A«hJ26=(S26ªº­È+AB26ªº­È)/49 =>¨ú¾l¼Æ
EX¡GJ26=MOD(02+9,49)=11
§YJ26= 11

¨ä¾l¡KSheets("·Ç3¶i4")~ Sheets("·Ç7¶i8")¡KÃþ±À¡C

¥»©«³Ì«á¥Ñ ziv976688 ©ó 2021-7-29 15:14 ½s¿è

¦^´_ 56# ML089
¯u¤£¦n·N«ä¡A¤pBUG¤£Â_¡C

ª©¥D :
±z¤£­n³o»ò»¡¡A±zÄ@·N«ü¾É¡A§Ú¤w¸g¬O·P¿E¤£ºÉ¤F

­n¤£¬O±z¤£¹½¨ä·Ðªº­×¥¿ Bug¡A§Ú¤]¨S¾÷·|¾Ç·|¥¿½Tªº»yªk~
¨Ò¦p³o¤@¦¸ªºBug¡A§Ú¬O¥J²ÓªººÝ¸Ô¾ã½gµ{¦¡½X¡A¦ý´N¬OÁ@¤£¥X Bug¬O¦b­þ¸Ì?
¤]´¿¸Õ±NN>1§ï¬°N>=1¡A¦ý¥¢±Ñ¤F~
µ²ªG¬O±NN>0©MN>1¤À§O§PÂ_´N¥i¥H¸Ñ¨M¡C

ÁÂÁ±zªº­@¤ß«ü¾É©MÀ°¦£~·P®¦

PS : 54¼Ó~ If ¾l¼Æ = 0 Then ¾l¼Æ = 49 ªº»yªk¤]¬O¦V±z¾Ç²ß¨Óªº

TOP

¥»©«³Ì«á¥Ñ ML089 ©ó 2021-7-29 13:54 ½s¿è

¦^´_ 55# ziv976688

¯u¤£¦n·N«ä¡A¤pBUG¤£Â_¡C
Sub ¾l¼Æ¦U¨ú1()
    Dim xD As Object, xS As Worksheet, xR As Range, SP, N
    Set xD = CreateObject("Scripting.Dictionary")
   
    For Each xS In Sheets(Split("·Ç2¶i3 ·Ç3¶i4 ·Ç4¶i5 ·Ç5¶i6 ·Ç6¶i7 ·Ç7¶i8"))    '¨úªí®æ
        For Each xR In xS.Range("D2:J" & xS.[B65536].End(xlUp).Row)    '¨úÀx¦s®æ
            For Each SP In Split(xR, ",")    '¤À¶}¼Æ¦r
                If Val(SP) > 0 Then xD(Val(SP)) = ""    '¦r¨å²Õ¦X
            Next
        Next
        N = xD.Count
        xS.[A2:A110].ClearContents    '²M°£Àx¦s®æ¤º®e
        xS.[A2] = IIf(N = 0, "", N & "­Ó")
        xS.[A3] = "¸¹½X"
       If N > 0 Then
            With xS.[A4].Resize(N)
                .Value = Application.Transpose(xD.keys)
                'N > 1®É¤~»Ý­n±Æ§Ç¡A¤£µM·|¿ù
                If N > 1 Then .Sort key1:=.Item(1), Order1:=xlAscending, Header:=xlNo
            End With
        End If
        xD.RemoveAll
    Next
End Sub
{...} ªí¥Ü»Ý­n¥Î CTRL+SHIFT+ENTER ¤TÁä¿é¤J¤½¦¡

TOP

¥»©«³Ì«á¥Ñ ziv976688 ©ó 2021-7-29 03:45 ½s¿è

¦^´_ 37# ML089
¾l¼Æ¦U¨ú1_0729.rar (100.88 KB)
ª©¥D :
¤£¦n·N«ä¡A¤S¦³¤@­Ó¤pBug~
·Ç5¶i6!A4=""
A4À³¸Ó=46 ¡C
Àµ½Ð±z½ç¥¿~ÁÂÁ±z

TOP

¥»©«³Ì«á¥Ñ ziv976688 ©ó 2021-7-29 02:50 ½s¿è

¦^´_ 13# n7822123
½Ð±Ð±z :
¦C9 ¾l¼Æ = (Arr(1)(R, C) + Num - 1) Mod 49 + 1  '¥[ºâMod(M2+V2,49)

¦pªG±N¶Qµ{¦¡½X§ï¬°´îºâ¡A¨Ã±N¨ä®t­ÈÂରµ´¹ï­È¡A¨Ï¨ä³£¬°¥¿¼Æ
¾l¼Æ = (Abs(Arr(1)(R, C) - Num) - 1) Mod 49 + 1    '´îºâMod(ABS(M2-V2),49)
¦ý³o¼Ë§ï~·|¦³¤@­Ó¤pBug : ·í¾l¼Æ=0 ®É¡A¤£·|¦Û°ÊÂର49
¥²¶·¦A¥[  If ¾l¼Æ = 0 Then ¾l¼Æ = 49

½Ð°Ý :¥H¶Q­ìµ{¦¡½X­n±N®t­È§ï¬°µ´¹ï­Èªº¥¿½T»yªk ?
ÁÂÁ±z

TOP

¥»©«³Ì«á¥Ñ ziv976688 ©ó 2021-7-29 00:40 ½s¿è

¦^´_ 52# ML089
ª©¥D :
·PÁ±zªºÃö¤ß
¨º®É­Ô~¬O´£°ÝA4:A52=D2:J26ªº¾l¼Æ¦U¨ú1
±z­n½T©wAÄæ¬O§_¬°³Ì¦h¬O2¦ì¼Æªº¾ã¼Æ?

¨S¦³±z­@¤ßªºÀ°§Ú±Nµ{¦¡½X¬yµ{¥þ³¡­«·s¾ã²z¡A
§Ú¬OµLªk¶¶§Q§¹¦¨¥»¦¸¦U¤À©î¶µªº°ÝÃD»Ý¨D~·P®¦

TOP

¦^´_ 50# ziv976688

¤F¸Ñ¡A¼Æ¦r­Y¬O0~48´N¨S¦³°ÝÃD
¦]¬°¤§«e¼g¤½¦¡¦³°Ý¹L§A¡A¼Æ¦r¬O§_±±¨î¦b99¥H¤U¡A©Ò¥H¦³ÂI»~·|¡C
{...} ªí¥Ü»Ý­n¥Î CTRL+SHIFT+ENTER ¤TÁä¿é¤J¤½¦¡

TOP

¦^´_ 42# n7822123
¤w­×¥¿~
­×¥¿«á°õ¦æ¥¿±`(¤£¨ì2¬í)
ÁÂÁ±zªº«ü¾É©MÀ°¦£~·P®¦

TOP

¥»©«³Ì«á¥Ñ ziv976688 ©ó 2021-7-28 14:13 ½s¿è

¦^´_ 49# ML089
ª©¥D :
ÁÂÁ±zªº´£¿ô

For Each SP In Split(xV, ",")
:
:
Next
xV¤£¬O¤w­­¨î¦b0 To 48¤F¶Ü?
ÁÙ¬O§Ú¤S¿ù¤F
¦pªG§Ú¤S»~¸Ñµ{¦¡½Xªº·N²[~Àµ½Ð½ç¥¿¡C
ÁÂÁ±z

­ã¤jªº°Ñ¼Æµn¿ý(Module 2)
Sub °Ñ¼Æµn¿ý()
    Dim xS As Worksheet, xD, Arr(6), Brr, R&, i&, j%, k%, x%, N%, T$
    Set xD = CreateObject("Scripting.Dictionary")
    For Each xS In Sheets(Array("·Ç2¶i3", "·Ç3¶i4", "·Ç4¶i5", "·Ç5¶i6", "·Ç6¶i7", "·Ç7¶i8"))
        xD.RemoveAll
        R = xS.[ac65536].End(xlUp).Row - 1
        N = N + 1: If R < 1 Then GoTo s01
        ReDim Brr(1 To R - 1, 1 To 7)
        For k = 0 To N
            Arr(k) = xS.[ae2].Cells(1, k * 9 + 1).Resize(R, 7)
            For j = 1 To 7
                xD(Arr(k)(R, j) & "|" & k) = 1
            Next j
        Next k
        '--------------------------------------
        For i = 1 To R - 1
            For j = 1 To 7
                For x = 0 To 48
                    For k = 0 To N
                       ' T = (Arr(k)(i, j) + x) Mod 49 & "|" & k
                        V = (Arr(k)(i, j) - x) Mod 49
                        If V < 0 Then V = V + 49
                        T = V & "|" & k
                        If xD(T) = 0 Then GoTo x001
                    Next k
                    Brr(i, j) = Brr(i, j) & IIf(Brr(i, j) = "", "", ",") & x
x001:                     Next x
            Next j
        Next i
        '-------------------------------------
        With xS.[v2].Resize(R - 1, 7) 'µn¿ý¦ì¸m
            .NumberFormatLocal = "@"
            .Value = Brr
        End With
s01:         Next
End Sub

TOP

¦^´_ 48# ziv976688


B¦¡ : ·í-SP¤§«áªº®t­È=­t¼Æ®É¡A«hSP¦Û°Ê¦A+49Âର¥¿¼Æ(§Y¦p=¤@¯ëªº¨ç¼Æ­pºâ)
SP = (xV.Offset(, -9) - SP + 49) Mod 49: If SP = 0 Then SP = 49  'M2-V2 mod 49

­Y¬O
11-90 = -79¡A¦A+49Åܦ¨ -30 ¡AÁÙ¬O­t¼Æ«ç»ò¿ì?
{...} ªí¥Ü»Ý­n¥Î CTRL+SHIFT+ENTER ¤TÁä¿é¤J¤½¦¡

TOP

        ÀR«ä¦Û¦b : ¨ü¤HÂI¤ô¤§®¦¡A¶··í´é¬u¥H³ø¡C
ªð¦^¦Cªí ¤W¤@¥DÃD