• ベストアンサー

excelでのデータ処理

@宝くじNews proと言うデータベースのなかのデータをexcelに送りました。ここでミニロトやロト6の当たり番号が確認できますが、この状態では一つのセルに020611132638といった様に表示されます。これを1から43までの列を作って該当番号の欄にまるじるしを入れた表にしたいのですが、どうやればよいでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.3

#01、02です。C3:I3には数字タイプ(右詰)で数値を入力しているのですね。そうであれば > =IF(ISNA(MATCH(TEXT(M$2,"00"),$C3:$I3,0)),"","○") ではダメです。それはTEXT(M$2,"00")が文字タイプ(左詰)になるからです。数字タイプと文字タイプのMATCHは期待する動作をしません。 最初の質問で >一つのセルに020611132638と とありましたので、このセルは文字タイプであると思いました。(数字タイプなら先頭の「0」はつかないため) I3:H3もM2:BC2も全て数字タイプなら  =IF(ISNA(MATCH(M$2,$C3:$I3,0)),"","○") でよいでしょう

hide_m
質問者

補足

どうもありがとう御座います。できました。が、第1回から320回までの結果で320行有りますので、このまま下方向にコピーしても全部丸が入ってしまいますし、右方向にコピーしても丸が入ってしまいますし、初心者の私が言うのもなんですが$記号が入っていると絶対番地参照になってしまうのでだからなのでしょうか?あとらくにコピーできるマクロの使い方はないでしょうか?

その他の回答 (2)

  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.2

#01です。補足を見るのが遅くなりました。何点か確認のポイントを書きます。 A2に020611132638 B2に =MID(A1,COLUMN()*2-3,2) を入力しこのセルをG列までコピー するとB2に02、C2に06、D2に11、E2に13、F2に26、G2に38が表示されていますか? もしなっていないなら 020611132638 を数字として入力したためです。 '020611132638 と頭に「'」をつけて入力してくださいね H1:AW43まで1~43の半角数字が入力されていますか? この状態でH2に =IF(ISNA(MATCH(TEXT(H$1,"00"),$B2:$G2,0)),"","○") を入力し、右方向にコピーすれば2,6,11,13,26,38の欄に○がつきますよ。動作は確認しているつもりです。

hide_m
質問者

お礼

=IF(COUNTIF($C3:$I3,M$2),"○","")では、全てに丸が入ってしまいます。

hide_m
質問者

補足

こんばんわ。どうもありがとう、でも実際には1の行には題字が入っておりますので、C3~H3までとなります。ここには2桁の数字が入っています。B2には”02”ではなくて”2”がはいって、Iの列にはボーナス数字が入ります。M2〰BC3までには1~43の数字が入っております。ちなみにオフィス2002です。修正後、=IF(ISNA(MATCH(TEXT(M$2,"00"),$C3:$I3,0)),"","○")にして使ってます。でもうまく行きません。どこがいちがっているのでしょうか? 又ある方から=IF(COUNTIF($C3:$I3,M$2),"○","")でも、できると聞きました。これはうまく行きますどうでしょうか?

  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.1

http://oshiete1.goo.ne.jp/qa2868119.html 先日の質問だと02,06,11,13,26,38のようにカンマ区切りでしたが今回は番号がつながっているのですね。 A2セルに 020611132638 を入力したら B2セルには =MID(A1,COLUMN()*2-3,2) と入力して、右方向にG列までコピーします。これでB~G列に2桁ずつ分離できます H1に数字の1、I1に2を入力し右方向に43まで入力するのは前回の回答と一緒です。 H2(数字1の一つ下のセル)に入れる式は =IF(ISNA(MATCH(TEXT(H$1,"00"),$B2:$G2,0)),"","○") です。これを右方向にコピーし、下方向にもコピーします

hide_m
質問者

補足

どうもうまくいきません。セルには○でなくて0が入ります。

関連するQ&A