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

このQ&Aに関連する最新のQ&A

A 回答 (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)),"","○")
でよいでしょう

この回答への補足

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

補足日時:2007/04/09 20:26
    • good
    • 0

#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の欄に○がつきますよ。動作は確認しているつもりです。

この回答への補足

こんばんわ。どうもありがとう、でも実際には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),"○","")でも、できると聞きました。これはうまく行きますどうでしょうか?

補足日時:2007/04/07 21:57
    • good
    • 0
この回答へのお礼

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

お礼日時:2007/04/07 22:18

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)),"","○")
です。これを右方向にコピーし、下方向にもコピーします

この回答への補足

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

補足日時:2007/04/03 21:59
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q(Excel)範囲中のデータのうち条件に該当するデータのセルの行番号・列番号を取得したいのですが

例えば、B2からF5の範囲にデータが入力されていて、このうち条件に該当するデータ(最大値)のセルの行番号・列番号を取得したいのですが何か良い方法はありますでしょうか。
最大値のセルをアクティブにする方法が分かれば問題は解決するのですが、調べてみても答えが見つかりませんでした。
また、他に良い方法があればぜひともよろしくお願いします。
回答はVBAでもワークシート関数でも、どちらでも結構です。

ExcelはExcel2000、OSはWindows2000を使用しています。

Aベストアンサー

最大値のセルをアクティブにするんですよね?
では関数では無理なのでVBAで。

Sub test()
Dim x, c
x = Application.Max(Range("B2:F5"))
Set c = Range("B2:F5").Find(What:=x, LookIn:=xlValues, LookAt:=xlWhole)
MsgBox c.Address(0, 0) & "セルが最大値です。セレクトします。"
c.Select
End Sub

QExel VBA 別ブックから該当データを検索し、必要なデータを取得判別し、データを書き換える

「緯度-経度 記録表」というブックがあります。
A列に測定点番号、B列に測定年月日、
C列に測定緯度、D列に測定経度、
E列に管理番号、F列に識別 です。

  A列       B列     C列     D列      E列      F列
 測定点番号   測定年月日  測定緯度   測定経度   管理番号    識別
1 S0112014   20140820  37.3745   140.981   SYS_3645  工事後
2 S0262014   20140926  37.3775   140.988   026_4565  工事前
3 S0122014    20140820  37.3762   140.956     012_3960  工事前
4 S0172015   20151013  37.3772   140.956   026_4565  工事後

※必ず「識別」が工事前と工事後で管理番号のみ同一のデータが2件ずつあります。
 上記だと2行目と4行目です

上記データが数千件。



また、「測定点番号一覧表」という別のブックには、
A列に測定点番号が、何千件と入力されています。

A列
測定点番号
1 S026014
2 S025558
3 S456789
4 S852147


やりたいことは
「緯度-経度 記録表」C列とD列の日付の古い方の「緯度」「経度」が間違えているので、日付の新しい方のデータの「緯度」「経度」を検索し貼り付けるという作業です。



現在行っている作業手順は

「測定点番号一覧表」ブックA列の測定点番号データ1行めの「S026014」を元に、
「緯度-経度 記録表」ブックで検索すると
「緯度-経度 記録表」の2行目がヒットします。

次は、
2行目の「管理番号」を「緯度-経度 記録表」ブック内で「すべて検索」すると、
2行目と4行目がヒットします。

2行目と4行目のB列「測定年月日」の日付が新しい方の
C列「測定緯度」D列「測定経度」をコピーし
日付が古い方のC列、D列へ貼り付けるというのが一連の流れです。


この作業を数千件繰り返すということで、
基本事項は本で学びましたが、呪文のようなコードはよく理解できません。懸命にネットで検索して、訳して理解する努力をしてはいますが。

どうぞよろしくお願いします。

「緯度-経度 記録表」というブックがあります。
A列に測定点番号、B列に測定年月日、
C列に測定緯度、D列に測定経度、
E列に管理番号、F列に識別 です。

  A列       B列     C列     D列      E列      F列
 測定点番号   測定年月日  測定緯度   測定経度   管理番号    識別
1 S0112014   20140820  37.3745   140.981   SYS_3645  工事後
2 S0262014   20140926  37.3775   140.988   026_4565  工事前
3 S01220...続きを読む

Aベストアンサー

こんにちは

Excel-VBAでは「呪文のようなコード」ではなく、
「検索ー置換」を手作業でなくVBAで行う“だけ”の作業になってしまいます。
…変換テーブルを作っておいて変換する
…変換テーブルを自動で作ろうとすると、そのためのVBAを組まなければならない
と言う状況だと思います。

QExcel2013 VBA A列とB列の文字をA列とB列とC列に移動させる方法

A列とB列に文字が入っているのですが、下記のようにA列とB列とC列に文字を移動させたいです。
(A列の数字は必ず奇数のA列に入っています。)
VBAのコードを教えて下さい。

例えば
A1 1  B1 cat
A2 空白 B2 猫
A3 空白 B3 dog
A4 空白 B4 犬
A5 2  B5 whale
A6 空白 B6 クジラ
A7 3  B7 rabbit
A8 空白 B8 ウサギ

とデータがある場合

A1 1  B1 cat  C1 猫
A2 空白 B2 dog  C2 犬
A3 2  B3 whale  C3 クジラ
A4 3  B4 rabbit C4 ウサギ

としたいです。

実際、データは、A5196まであります。

Aベストアンサー

No.1です。

>実際、データは、A5196まであります。

前回のコードは一つずつカット&ペーストしていますので
かなりの時間を要すると思います。
↓のコードに変更してみてください。

Sub Sample2()
Dim lastRow As Long
lastRow = Cells(Rows.Count, "B").End(xlUp).Row
Application.ScreenUpdating = False
With Range(Cells(1, "C"), Cells(lastRow, "C"))
.Formula = "=IF(MOD(ROW(),2)=1,B2,"""")"
.Value = .Value
.SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End With
Application.ScreenUpdating = True
MsgBox "完了"
End Sub

少しは短縮できると思います。m(_ _)m

No.1です。

>実際、データは、A5196まであります。

前回のコードは一つずつカット&ペーストしていますので
かなりの時間を要すると思います。
↓のコードに変更してみてください。

Sub Sample2()
Dim lastRow As Long
lastRow = Cells(Rows.Count, "B").End(xlUp).Row
Application.ScreenUpdating = False
With Range(Cells(1, "C"), Cells(lastRow, "C"))
.Formula = "=IF(MOD(ROW(),2)=1,B2,"""")"
.Value = .Value
.SpecialCells(xlCellTypeB...続きを読む

Q行のデータ(a列b列c列)をd列に表示したい

a1、b1、c1のセルに入力したデータをd1セルに表示したい。可能でしょうか。一例「a1セルに1と入力、b1セルに2と入力、c1セルに3と入力しd1セルに123と表示する」

Aベストアンサー

d1セルに =a1&b1&c1

エクセルですよね?

Q表形式のデータから該当データを抽出する方法

 表形式のデータから該当データを抽出する方法を教えていただきたく存じます。
 次のような表形式のデータがあるとします。
   A  B  C
あ  1  3  5
い  2  4  6
 そして、「あ」と「A」の時には1、「い」と「B」の時には4というようなデータを抽出したく存じます。
 私の考えた方法は、hlookup関数とvlookup関数を組み合わせる手法ですが、他に方法はありますでしょうか。

Aベストアンサー

=INDIRECT(ADDRESS( FIND(A9,"あい")+1,FIND(B9,"ABC") +1))
A9は「あ」、または「い」が入るアドレス、
B9は「A」、または「B」が入るアドレスです。


人気Q&Aランキング

おすすめ情報