[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『数字の並び確認』(aimai) No.を1200〜1501、1502〜1899...と入力した表があります。 そのNo.が必ず連番になっているかどうかの確認はできるでしょうか? 例えば 1200〜1501 1502〜1899 1900〜2005 2007〜3000 とあった場合、2006が抜けていますよね。 その確認がしたいです。
データはどのように入っているのでしょうか。 (ミニドナ)
1 1200 〜 1501 2 1502 〜 1899 3 1900 〜 2005 4 2007 〜 3000 上記のようになっています。
「確認」というのは 具体的にはシート上で どのように表現したいのでしょうか?
(えくせる青年)2009/7/6 15:30
どの数字が抜けているかわからなくてはいけないですか? 抜けている数字は2番連続とかでありますか? (例題は2006だけですが、連続した数字「2006、2007」が抜けているというようなこともある?)
もし1つだけならE1に =IF(OR(B2="",D1+1=B2),"",D1+1) で下にフィルコピー。 で、抜けている数字が表示されます。
数字が抜けているよ!という情報だけわかればいいのであれば、条件付書式はどうでしょう。 (抜けている数字はわからなくてもよい)
条件付書式を選択し、 1)D列選択し、 条件1の「セルの値が」を「数式が」に変更。 2)右の空白に =AND(B2<>"",D1+1<>B2) と入力し、お好きな書式を選択。 これで、2005が入力されているセル(D3)が設定した書式に変わると思います。 (ミニドナ) 2009/7/6 15:42 訂正しまくり…
ですが、IFも使用してみました。
(ミニドナ)さんの、IFを使用すると、E1以降の値は
抜けがなければB2=E2で、抜けていればB2≠E2ということですか?
そのままの数式を利用すると、抜けがなくてもE2以降に値が入り
チェックしにくいです。
条件付書式も併用するということでしょうか?
上記の条件付書式の場合、D列に数式が入っていないと、色が変わらない
ということですか?
> 「確認」は“連番になってないよ”というのがわかればOKです。 答えになっていません。
“連番になってないよ”を シート上でどのように表現したいのでしょうか?
あと ミニドナさんがご回答の2つの方法を 実際に試してみての発言でしょうか?
> E1以降の値は抜けがなければB2=E2で、抜けていればB2≠E2 > そのままの数式を利用すると、抜けがなくてもE2以降に値が入りチェックしにくいです > D列に数式が入っていないと、色が変わらないということですか? 意味不明。
(えくせる青年)2009/7/7 11:23
下記のような結果になりませんか。 こちらではなっているのですが。
A B C D E --------------------------------------------------- 1 1200 〜 1501 E1には =IF(OR(B2="",D1+1=B2),"",D1+1) 2 1502 〜 1899 という数式を入力しています。 3 1900 〜 2005 2006 4 2007 〜 3000
>(ミニドナ)さんの、IFを使用すると、E1以降の値は抜けがなければB2=E2で、抜けていればB2≠E2ということですか? E1には抜けのある一番最初の番号しか表示されません。 (B4が2008であっても、E1には2006しか表示されませ。)
一度回答してから何度も訂正したので、訂正途中の数式を試されたのかもしれません。 でしたら申し訳ありませんo(_ _o) 今一度、上記の式をお試しいただけますか??
また、条件付書式は試されましたか? 条件付書式はD列にしか設定していませんが、 D1→B2が連番でない場合、D1の数字が設定した書式に変更になります。
連番の抜けは1つしかないのかどうかが気になりますが、 「抜けていることが確認できればよい」と言うことですので、 条件付書式で対応いただくのが良いかと思います。 もしくは =IF(OR(B2="",D1+1=B2),"",D1+1) ~~~~~を"×"でいいのかも。 (ミニドナ) 2009/7/7 11:42
すみません、抜けてました。 >上記の条件付書式の場合、D列に数式が入っていないと、色が変わらないということですか? D列には番号の最後の数字が入っていますので数式ではないと思いますが。 (そういうレイアウトですよね?) 提示している =AND(B2<>"",D1+1<>B2) という数式は条件付書式に設定する数式です。 (ミニドナ) 2009/7/7 11:46
あ、再度訂正。 2つ連番で抜けがあると、E1に数式を入れている場合おかしくなりますね。 E1 =IF(OR(B2="",D1+1<B2),"",D1+1) もしくは =IF(OR(B2="",D1+1<B2),"","×") でお試しください。 何度もすみません。 (ミニドナ) 2009/7/7 12:09
IFについては、はじめ実行したところ
A B C D E
1 1200 〜 1501 1502 2 1502 〜 1899 1900 3 1900 〜 2005 2006 4 2007 〜 3000 3001
E列にというように表示されました。
そのため、前回の質問をしたのです。
説明不足で申し訳ありませんでした。
今回は、
=IF(OR(B2="",D1+1=B2),"",D1+1
こちらで上記3行目の2006の抜けだけの表示ができました。
ですが、
E1 =IF(OR(B2="",D1+1<B2),"",D1+1) もしくは =IF(OR(B2="",D1+1<B2),"","×") こちらの数式だと、前回と同じように(上記のような)表示になりました。
当方の数式の入力がおかしいのでしょうか...
少々疑問が残りましたが、希望の表示はできました。
何度もお手数をかけて申し訳ありませんでした。
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.