[[20150122190410]] 『特定の文字で始まる 比較』(やま) ページの最後に飛ぶ

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

 

『特定の文字で始まる 比較』(やま)

1-1
2-1
1-2
2-1

上記のようにセルに数値が入っております。
したい事

"1-"を探し"1-"より後ろの数値を書き込む その場合 "1-"が存在しなかったら"0"を書き込む
"1-"より後ろの数値が複数あった場合後ろの数値を比較し一緒なら後ろの数値を書込み 一緒でなかったら"×"

"1-"結果 → ×
"2-"の結果なら "1" 
"3-"の結果なら "0" 

のようなものが関数で出来ますか?

< 使用 Excel:Excel2010、使用 OS:unknown >


 B1セルに 1- と入力。

 =IF(COUNTIF(A:A,B1&"*"),IF(COUNTIF(A:A,VLOOKUP(B1&"*",A:A,1,FALSE))=COUNTIF(A:A,B1&"*"),1,"×"),0)

 Excelで試してないけどこんな感じ?
(GobGob) 2015/01/22(木) 21:13

 >"1-"より後ろの数値が複数あった場合後ろの数値を比較し一緒なら後ろの数値を書込み

 あら、勘違い。

 =IF(COUNTIF(A:A,B1&"*"),IF(COUNTIF(A:A,VLOOKUP(B1&"*",A:A,1,FALSE))=COUNTIF(A:A,B1&"*"),SUBSTITUTE(VLOOKUP(B1&"*",A:A,1,FALSE),B1,"")*1,"×"),0)

(GobGob) 2015/01/23(金) 08:36


 B1 を 「1」のみ「2」のみ ・・・ も出来るように対応。

 =IF(COUNTIF(A:A,B1&"*"),IF(COUNTIF(A:A,VLOOKUP(B1&"*",A:A,1,FALSE))=COUNTIF(A:A,B1&"*"),ABS(SUBSTITUTE(VLOOKUP(B1&"*",A:A,1,FALSE),B1,"",1)*1),"×"),0)
 
(GobGob) 2015/01/23(金) 09:54

自分なりに条件を整理してみて

"2-"の結果なら

		“1”を書き込む
"1-"が存在しなかったらまたは"3-"の結果なら
		"0"を書き込む
"1-"より後ろの数字が複数件数あった場合
		後ろの数字を比較し
		一緒なら後ろの数字を書込み
		一緒でなかったら"×" 

=IF(COUNTIF(A1,"2-*"),"1",IF(OR(COUNTIF(A1,"1-*")=0,COUNTIF(A1,"3-*")),"0",IF(COUNTIF(A:A,A1)=1,"X",REPLACE(A1,1,2,""))))
(wisemac21) 2015/01/23(金) 11:20


ありがとうございます。
もう少し聞いてもいいですか?

例えば、今「A:A」で探していますが範囲を「A1:C35」とかにするとどうしたらいいですか?
(やま) 2015/01/23(金) 17:12


 D1に 1-  と入力 (数値のみは検証めんどくさいのでカットw)

 =IF(COUNTIF(A:C,D1&"*"),IF(COUNTIF(A:C,VLOOKUP(D1&"*",CHOOSE(MAX(CHOOSE({1,1,1},COUNTIF(A1:A35,D1&"*")>0,COUNTIF(B1:B35,D1&"*")>0,COUNTIF(C1:C35,D1&"*")>0)*{1,2,3}),A:A,B:B,C:C),1,))=COUNTIF(A:C,D1&"*"),SUBSTITUTE(VLOOKUP(D1&"*",CHOOSE(MAX(CHOOSE({1,1,1},COUNTIF(A1:A35,D1&"*")>0,COUNTIF(B1:B35,D1&"*")>0,COUNTIF(C1:C35,D1&"*")>0)*{1,2,3}),A:A,B:B,C:C),1,),D1,"")*1,"×"),0)

 =IF(COUNTIF(A:C,D1&"*"),IF(COUNTIF(A1:C35,VLOOKUP(D1&"*",CHOOSE(MMULT((COLUMN(A1:AI1)>0)*1,ISNUMBER(FIND(D1,A1:C35))*1),A1:A35,B1:B35,C1:C35),1,FALSE))=COUNTIF(A:C,D1&"*"),SUBSTITUTE(VLOOKUP(D1&"*",CHOOSE(MMULT((COLUMN(A1:AI1)>0)*1,ISNUMBER(FIND(D1,A1:C35))*1),A1:A35,B1:B35,C1:C35),1,FALSE),D1,"")*1,"×"),0)

 =IF(COUNTIF(A:C,D1&"*"),IF(COUNTIF(A1:C35,INDIRECT(TEXT(MAX(INDEX(ISNUMBER((FIND(D1,A1:C35)=1)*1)*ROW(A1:A35)*100+COLUMN(A1:C1),)),"!R0C00"),0))=COUNTIF(A:C,D1&"*"),SUBSTITUTE(INDIRECT(TEXT(MAX(INDEX(ISNUMBER((FIND(D1,A1:C35)=1)*1)*ROW(A1:A35)*100+COLUMN(A1:C1),)),"!R0C00"),0),D1,"")*1,"×"),0)

 などなど。
 
(GobGob) 2015/01/23(金) 18:03

 =IF(COUNTIF(A1:C35,D1&"*"),IF(MAX(INDEX(COUNTIFS(A1:C35,A1:C35,A1:C35,D1&"*"),))=COUNTIF(A1:C35,D1&"*"),SUBSTITUTE(INDIRECT(TEXT(MAX(INDEX(ISNUMBER((FIND(D1,A1:C35)=1)*1)*ROW(A1:A35)*100+COLUMN(A1:C1),)),"!R0C00"),0),D1,"")*1,"×"),0)

 こんなんでも。
 
(GobGob) 2015/01/23(金) 18:12 ⇒ 18:19 修正

 補足。
 さらに範囲に汎用性もたせるんなら 3番目と4番目がエエと思うよん。
 
(GobGob) 2015/01/23(金) 18:25

早速ありがとうございました‼

やってみまーす
(やま) 2015/01/23(金) 18:31


コメント返信:

[ 一覧(最新更新順) ]


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