質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%

Q&A

解決済

2回答

579閲覧

セル内の値の順番が違っても、あるセルと比較したときにOKとしたい

jazzmaster

総合スコア26

0グッド

0クリップ

投稿2021/04/01 06:18

編集2021/04/01 06:19

A1セルの値

Excel

11=AAA,2=BBB,3=CCC

上記のようにA1セルには","で区切られた値が入っています。
またB1には下記のように順番がA1とは順番が入れ替わった値が入っています。

B1セルの値

Excel

12=BBB,3=CCC,1=AAA


B1セルの値(別パターン)

Excel

13=CCC,1=AAA,2=BBB

これを同一とみなし比較したときにOKとする数式を書きたいと思っています。
ネットで調べましたが例がなく困っております。

またB1セルの値が下記のようになったときなどはNGとしたいです。
B1セルの値

Excel

12=BBD,3=CCC,1=AAA

ご教授いただければ幸いです。よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

あまり厳密ではない「なんちゃって判定」でよければ、たとえばこんな感じに書くことはできますね。

=IF(ISERR(SEARCH(MID($B1,1,SEARCH(",",$B1)-1),$A1)*SEARCH(MID($B1,SEARCH(",",$B1)+1,SEARCH(",",$B1,SEARCH(",",$B1)+1)-SEARCH(",",$B1)-1),$A1)*SEARCH(MID($B1,SEARCH(",",$B1,SEARCH(",",$B1)+1)+1,LEN($B1)),$A1)),"NG","OK")

投稿2021/04/01 12:59

jinoji

総合スコア4585

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

jazzmaster

2021/04/02 04:56

回答ありがとうございます!さすがです^^ 助かりました!!
jazzmaster

2021/04/02 06:19

ちなみにA1のセルが、1=AAA,2=BBB,3=CCC,4=DDD,5=EEE,6=FFFとなった場合は、どのように改変すればいいのでしょうか?
jinoji

2021/04/02 07:00

それはかなり面倒になりますね。 すごく頑張ればできなくはないでしょうが…
jinoji

2021/04/02 10:09

計算用セルを用いてよいのなら、以下の感じで出来そう。 # A2に以下を入力し、A2:B7にコピー =MID(A$1,IF(A$1=A1,1,LEN(A1)+SEARCH(A1,A$1)+1),SEARCH(",",A$1,1)-1) # C2に以下を入力し、C2:C7にコピー =COUNTIF(A:A,B2)*COUNTIF(B:B,B2) # C1に以下を入力 =IF(PRODUCT(C2:C7)=1,"OK","NG")
guest

0

数式では難しそう。(Excel職人ならできるかも)

カスタム関数を作成してみました。
下記のコードを標準モジュールにコピーします。

vba

1Public Function XStrComp(str1 As String, str2 As String) As Boolean 2 XStrComp = True 3 If LenB(str1) <> LenB(str2) Then 4 XStrComp = False 5 Exit Function 6 End If 7 8 Dim i 9 For Each i In Split(str1, ",") 10 If InStr(1, "," & str2 & ",", "," & i & ",", vbBinaryCompare) = 0 Then 11 XStrComp = False 12 Exit For 13 End If 14 Next 15End Function

セルに下記のように式を設定すれば、一致したときに「OK」と表示されます。

=IF(XStrComp(A2,B2),"OK","")

投稿2021/04/01 07:03

hatena19

総合スコア33790

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

jazzmaster

2021/04/01 08:39

回答ありがとうございます!とても素晴らしいと思いますが出来ればマクロを使わずに実現したいのです。。。
hatena19

2021/04/01 09:10

エクセル職人が現れるといいですね!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問