[[20200714123210]] 『連続した4桁の数字のペアの違い』(為五郎) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『連続した4桁の数字のペアの違い』(為五郎)

「1542」「3652」「7123」……のグループと
「2536」「1479」「3633」……のグループを比べて違う数字がでたら
表示する様にしたいと思っています。四桁な数字は順不同でも同じと考えています。
マクロ解決してくれるかたお願いします。

< 使用 Excel:Excel2016、使用 OS:Windows10 >


 ??

[[20200714081508]] 『共通で無い数列の抜き出し』(かれん)
[[20200714072348]] 『共通ではない数字の抜き出し』(ゴン太) 
(通りすがり) 2020/07/14(火) 12:45


名前変えても、同一人物とバレバレです。 前に質問したときも毎回名前変えていたし、嘘つきは泥棒の始まりですよ?(そして、もらったコードを自分が考えた事にして提出し、先生にバレて不合格にされる事でしょう。おそらくもうバレてますから、授業受けるだけ無駄ですよ)

コードは既に書きました。 貴方の思った答えにならなかったのは、貴方の書いた例が間違っているからでは? 3つ目の質問では、前提条件の確認にもならない例書いているし、どんどん迷走してる感じです。
(???) 2020/07/14(火) 13:53


通りすがりさん
コメントありがとうございました。
どの辺が迷走している点なのでしょうか?
こちらもまじめに質問を出しているつもりなのですが、一般人には通じないようです。
(為五郎) 2020/07/14(火) 15:58

未だ求めている答えになっていないのであれば、元の設問をそのまま書いてはどうですか?

 > 1⃣「1123」「4155」「2143」「2241」 
 > 2⃣「3211」「5144」「2578」「2142」 
 > 結果2143.2578

数字の順番が違っても同一判定するという事になったので、1123と3211、2241と2142は同一判定し消える、というところまではOK。2143と2578が残るのもOK。

問題は、4155と5144は、同一なのか違うのかという点。 つまり、1,4,5 の3種しか使っていないから同一、とするのか、4と5はそれぞれ出現数が違うから別とするのか。 これを同一とするなら、mmさんや隠居じーさんさんのコードを採用すれば良いはず。(1234と1111は同一?、という疑問は残りますが)

別とするなら、4155と5144の組み合わせは、どちらかを書き間違えていたので、例示の結果通りにならない、という事。 私のコードを採用すれば終了だし、「間違っているからでは?」と教えているのに無視するというのは謎です。 もしかして、指摘されても間違いに気づかなかったとか?

そして、上記の設問が解決していないのに、新たにこのスレッドを立ち上げたというのが問題。 今度の例は、どういう結果になるのが正なのか書いていないから、今までのコードで良かったのかどうか、判断できません。 他人を装って設問をころころ変えている様を、迷走している、と表現しています。 しかも、同じ内容で更に質問してるし…。
(???) 2020/07/14(火) 16:50


嘘つきは泥棒の始まりですよ
(為五郎) 2020/07/14(火) 20:16

すいません、間違ってしまいました。
A1 「3467」「2167」「2211」「5678」「1334」
A2 「7856」「1122」「1433」「7643」「1234」
A3  2167 7643

以上の通りです。

(為五郎) 2020/07/14(火) 20:23


どうも焦ってしまい間違えてします。
正解
A3 2167 1234
(為五郎) 2020/07/14(火) 20:27

>>問題は、4155と5144は、同一なのか違うのかという点。 つまり、1,4,5 の3種しか使っていないから同一、とするのか、4と5はそれぞれ出現数が違うから別とするのか。 これを同一とするなら、mmさんや隠居じーさんさんのコードを採用すれば良いはず。

出現数が違うのでA3です。
(為五郎) 2020/07/14(火) 20:32


 この質問の類は、無視した方が良いのでは。
 やたらとHNを変えて同じ質問を複数質問したり、自分の間違いを棚上げして
 回答者を嘘つきよばり。
 まともな一般人とはかけ離れているような気がします。
(Why) 2020/07/14(火) 20:35

Whyさん
ごもっともですが、本人は真剣なのです。ご理解のほど。
(為五郎) 2020/07/14(火) 20:43

>>嘘つきは泥棒の始まりですよ
自分ではコメントしていません。
(為五郎) 2020/07/14(火) 20:47

 こんばんは!
ちょっと書いてみました。
4文字とか文字数の制限は加えていません。

 こんな↓レイアウトがあったとして 1行目をグループA 3行目をグループB 5行目に答えを出します。(あってますかぁ???(^^;)

   __A______B______C_____D________E___

 [1] 2778  0078	0484	0254	6691

 [3] 1388  7008	9616	1479	1299

 [5] 2778  0448	0245		

 先頭に 0 がある場合があるでしょうからあくまでも文字として考えています。。。
上手く行かなかったら応用してみてください。。。(例によっておぉぉぉぉいいいっ(^^;)

 Option Explicit
Sub てすと()
Dim x As Variant
Dim xx As Variant
Dim y As Variant
Dim z As Variant
Dim v() As Variant
Dim i As Long
Dim n As Long
x = Range("A1").CurrentRegion.Resize(1).Value
xx = x
y = Range("A3").CurrentRegion.Resize(1).Value
分割 x
分割 y
再編 x
再編 y
For i = LBound(x, 2) To UBound(x, 2)
    z = Application.Match(x(1, i), Application.Index(y, 1, 0), 0)
    If Not IsError(z) Then
        ReDim Preserve v(n)
        v(n) = xx(1, i)
        n = n + 1
    End If
Next
If n > 0 Then
    With Range("A5")
        .EntireRow.ClearContents
        .Resize(, UBound(v) + 1).NumberFormat = "@"
        .Resize(, UBound(v) + 1).Value = v
    End With
End If
Erase x, y, v, xx
End Sub
Sub 分割(ByRef x As Variant)
Dim i As Long
Dim j As Long
    For i = LBound(x, 2) To UBound(x, 2)
        ReDim v(Len(x(1, i)) - 1)
        For j = LBound(v) To UBound(v)
            v(j) = Mid(x(1, i), j + 1, 1)
        Next
        QuickSort v, LBound(v), UBound(v)
        x(1, i) = v
    Next
End Sub
Sub 再編(ByRef x As Variant)
Dim v As Variant
Dim i As Long
    For i = LBound(x, 2) To UBound(x, 2)
        v = Replace(Join(x(1, i)), " ", "")
        x(1, i) = v
    Next
End Sub
Private Sub QuickSort(MySAry As Variant, ByVal MySLeft As Long, ByVal MySRight As Long)
Dim MySMid As Long
Dim i As Long, j As Long
Dim MyStmp As String
MySMid = MySAry((MySLeft + MySRight) \ 2)
i = MySLeft
j = MySRight
    Do
        Do While MySAry(i) < MySMid
            i = i + 1
        Loop
        Do While MySAry(j) > MySMid
            j = j - 1
        Loop
        If i >= j Then Exit Do
            MyStmp = MySAry(i)
            MySAry(i) = MySAry(j)
            MySAry(j) = MyStmp
        i = i + 1
        j = j - 1
    Loop
If MySLeft < i - 1 Then QuickSort MySAry, MySLeft, i - 1
If MySRight > j + 1 Then QuickSort MySAry, j + 1, MySRight
End Sub
(SoulMan) 2020/07/14(火) 21:00

SoulManさん。有難うございます、うまく動かなかったら連絡します。
(為五郎) 2020/07/14(火) 21:20

 並び替える前のオリジナルの数列がいいでしょうから、、xx を追加しました。。。
ほんとにあとは応用して頂けるとたすかります。。。
(SoulMan) 2020/07/14(火) 21:28

 ほんとにすみません。続きがあったのですね???
[[20200714163259]]
途中を全然みていませんでした。。。こんなにトピをばらまくのはよくないですね。。。

 それと、、この関連のトピの例題に合わせると。。。Not なのですね(^^;
すみません、、、これまた全然みていませんでした。。。m(__)m
(SoulMan) 2020/07/14(火) 21:39

SoulManさんあなただけが頼りです、お願いします。
(為五郎) 2020/07/14(火) 21:43

 >SoulManさんあなただけが頼りです、お願いします。
 すみません。。。無理です。。(^^;

 というかぁ、、ちゃんと説明さえされれば誰でも答えてくれますよ??
 言葉じゃなくて図がいいです。。

 Before After です。。。
 もっと質問上手にならないと、、損???をするのはトピ主さん本人ですよ??
 私なんかはただの暇つぶしで書いてるだけですから(^^;

 頑張ってくださいね。。では、、では、、、 
(SoulMan) 2020/07/14(火) 21:52

トピックが乱立されててよくわからないので適当に整理してみた。

 済?
[[20200714072348]] 『共通ではない数字の抜き出し』(ゴン太)
[[20200714081508]] 『共通で無い数列の抜き出し』(かれん)
[[20200714123210]] 『連続した4桁の数字のペアの違い』(為五郎)
[[20200714160300]] 『4桁の抽出』(為五郎)

 現行トピック?
[[20200714163259]] 『固定した4桁の数字では意味がありません。』(為五郎)

(偽五郎) 2020/07/14(火) 22:36


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.