• ベストアンサー

同じ末尾数字にまとめる方法

どなたかご存じでしたらご教授願います。 下記の様に数字が、1~43迄の最大43個の数字があるとします。 1 2 3 4 5 6 7 8 9 10 11 12 13 18 19 20 33 37 43 これらを、同じ末尾の数字で下記のようにまとめる方法が知りたいです。 末尾1:1 11 末尾2:2 12 末尾3:3 13 33 43 末尾4:4 末尾5:5 末尾6:6 末尾7:7 37 末尾8:8 18 末尾9:9 19 末尾0:10 20 使用しているエクセルは2007です。 以上、よろしくお願いします。

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

  • ベストアンサー
  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.5

返す値が文字列数字でもよいなら、以下の数式を入力し、右方向に適当数、下方向に10行オートフィルコピーしてください(データが100個までの場合)。 =INDEX($A:$A,SMALL(INDEX((RIGHT($A$1:$A$100,1)<>RIGHT(ROW(A1),1))*1000+ROW($A$1:$A$100),),COLUMN(A1)))&""

moguo4649
質問者

お礼

回答ありがとうございます。 前までの方と比べると とてもシンプルな回答を頂き これならいつでも、コピー&ペーストで使用できそうですね。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (5)

noname#204879
noname#204879
回答No.6

1.範囲 A2:A11 に上から数値 1、2、…、9、0 を入力 2.範囲 A2:A11 に次の“ユーザー定義”を設定     "末尾"G/標準 3.お示しの「1~43迄の最大43個の」数値をセル B1 から右へコピー 4.セル B2 に式 =IF(MOD(B$1,10)=$A2,B$1,"x") を入力して、これを右方および下方へズズーッとドラッグ&ペースト 以上の結果を添付図に示す。 5.範囲 A1:T11 を選択して、[コピー]→[値の貼り付け]を実行 6.範囲 A1:T11 を選択して、文字 x を空白に一発で[すべて置換]を実行 7.範囲 A1:T11 を選択して、[編集]→[ジャンプ]→[セル選択]を実行 8.“空白セル”に目玉を入れて、[OK]をパシーッ 9.[編集]→[削除]を実行 10.“左方向にシフト”にチェックを入れて、[[OK]をパシーッ] 11.1行目を削除

moguo4649
質問者

お礼

回答ありがとうございます。 マトリクス方式もありですね。

全文を見る
すると、全ての回答が全文表示されます。
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.4

こんばんは! VBAの方が簡単なような気がしますが・・・ 関数で無理矢理やってみました。 Sheet1のデータ(A列)をSheet2に表示するようにしてみました。 ↓の画像でSheet2のB1セルに =IF(SUMPRODUCT((MOD(Sheet1!$A$1:$A$50,10)=MOD(ROW(A1),10))*(Sheet1!$A$1:$A$50<>""))<COLUMN(A1),"",INDEX(Sheet1!$A$1:$A$50,SMALL(IF(MOD(Sheet1!$A$1:$A$50,10)=MOD(ROW(A1),10),ROW($A$1:$A$50)),COLUMN(A1)))) これは配列数式になってしまいますので、この画面からコピー&ペーストする場合は B1セルに貼り付け後、数式バー内で一度クリック! 編集可能になりますので、Shift+Ctrlキーを押しながらEnterキーで確定! 数式の前後に{ }マークが入り配列数式になります。 これを列方向と行方向にオートフィルでコピーすると 画像のような感じになります。 ※ 数式は50行目まで対応できるようにしています。 参考になれば良いのですが・・・m(_ _)m

moguo4649
質問者

お礼

回答ありがとうございます。 また、私が結果のサンプルとして提示した結果をつけて頂き判りやすい内容です。

全文を見る
すると、全ての回答が全文表示されます。
  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.3

A1からA43に最大43個の数字を並べ, どこかてきとーなセルに =IF(COLUMN(A1)>COUNT(1/$A$1:$A$43/(MOD($A$1:$A$43,10)=MOD(ROW(A1),10))),"",SMALL(IF(($A$1:$A$43<>0)*(MOD($A$1:$A$43,10)=MOD(ROW(A1),10)),$A$1:$A$43),COLUMN(A1))) と記入してコントロールキーとシフトキーを押しながらEnterで入力し, 右にてきとー数,下にあと9行,コピーします。

moguo4649
質問者

お礼

回答ありがとうございます。 関数の使用方法を示して頂き参考になります。

全文を見る
すると、全ての回答が全文表示されます。
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.2

珍しい、面倒な質問だ。VBAで無いと関数とソート操作では面倒かも。 ソートして0が一番下に行ってくれないので、工夫が必要だった。 質問の例しかテストしてないので、十分テストしてみて。 (1)修正ソートキーをB列に作る Sub test01() d = Range("A65536").End(xlUp).Row MsgBox d For i = 1 To d s = "" x = Cells(i, "A") For j = Len(x) To 1 Step -1 If Mid(x, j, 1) = "0" Then s = s & "a" Else s = s & Mid(x, j, 1) End If Next j Cells(i, "B") = "'" & s Next i End Sub (2)B列で(A列もつれ持って)ソートする。VBAでも出来るが、手操作でやる。 中間結果 1 1 11 11 2 2 12 21 3 3 13 31 33 33 43 34 4 4 5 5 6 6 7 7 37 73 8 8 18 81 9 9 19 91 10 a1 20 a2 (3)望みの表に編集する Sub test02() d = Range("A65536").End(xlUp).Row x = Cells(1, "B") j = 5 k = 1 Cells(k, j) = Cells(1, "A") m = Left(x, 1) For i = 2 To d x = Cells(i, "B") If Left(x, 1) = m Then j = j + 1 Cells(k, j) = Cells(i, "A") Else k = k + 1 j = 5 Cells(k, j) = Cells(i, "A") m = Left(x, 1) End If Next i End Sub ーーーー 結果 E列より右列に 1 11 2 12 3 13 33 43 4 5 6 7 37 8 18 9 19 10 20

moguo4649
質問者

お礼

早速のご回答ありがとうございます。 VBAではこうなるんですね。 早速試してみます。

全文を見る
すると、全ての回答が全文表示されます。
noname#158634
noname#158634
回答No.1

「まとめる」の定義が不明。 とりあえず末尾の取得は 「数字」の場合:RIGHT関数 「数値」の場合:10で割った余り でできます。

moguo4649
質問者

お礼

早速のアドバイスありがとうございます。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 抽選結果を末尾数字で纏めて表示させる方法

    どなたかご存じでしたら回答をお願いします。 数字選択式宝くじロト6の抽選結果をエクセルにつけております。 【質問】  抽選結果である第1~ボまでの7つの数字が各セルに入っておりますが、  7つの数字の末尾数字を抽出して重複チェックを行い【出現末尾数字】として  小さい数字順に表示させ、出現しなかった末尾数字を【未出現末尾数字】として  小さい数字順に表示させる方法が知りたいです。 【抽選結果シート】 ※631回を最新抽選回数とする。 抽選回 第1 第2 第3 第4 第5 第6  ボ  出現末尾数字   未出現末尾数字           629   6  16  21  30  41  43  36  0 1 3 6      2 4 5 7 8 9   630   3   7  13  18  19  41  38  1 3 7 8 9    0 2 4 5 6   631   2   5  7   10  36  40  12  0 2 5 6 7    1 3 4 8 9        ●注意事項   ・末尾数字は0~9です。   ・使用するエクセルは2010です。 以上、よろしくお願いします。

  • 数字の並び替え方法について。

    どなたかご存じでしたらご教授願います。 下記の様に、エクセルシート5行×6列で1セル毎に数字が入っています。 01 12 13 16 27 39 02 08 10 25 34 40 06 07 21 30 38 41 05 20 23 29 36 43 04 17 22 26 35 42 これを、下記のように昇順に並び替える方法を教えてください。 01 02 04 05 06 07 08 10 12 ・・・・・ 40 41 42 43 手作業で1つずつ貼り付け直して昇順に並べるのが手間になってきたので、 何か自動でできる方法が知りたいです。 【注意事項】  (1)5×6のセル内の数字は毎回違いますし、数字の重複はありません。  (2)セル内に出てくる数字は、文字でも数字でもどちらでも構いません。  (3)使用するエクセルは2007です。 以上、よろしくお願いします。

  • 四捨五入ではなく末尾を切り上げる方法はありますか

    エクセル2010を使用しています。 別の質問と被ってしまうのですが今回は A列にいろいろな数字が入っているとしてB列に計算結果を出したいのですが 1.数字の末尾が4以下の物は5に丸める。   11 → 15   12 → 15   101 → 105   123 → 125 2.数字の末尾が0や5の場合はそのまま。   10 → 10   30 → 30   500 → 500   15 → 15   45 → 45   1055 → 1055 3.末尾が6以上だったら9にする。   16 → 19   38 → 39   108 → 109   1237 → 1239 めんどうな式になると思うのですがよろしくお願い致します。

  • 【エクセルの並び替え】末尾の数字を軸に並び替え

    エクセルの並び替えについて質問させて頂きます。 末尾の数字が同じものをまとめたいと思っておりまして、エクセルの機能を利用して 末尾の数字を軸にした並び替えを行うことはできますでしょうか。 ■元のデータ    A列 1行  263 2行  952 3行  273 4行  885 5行  567 6行  195 ■やりたいこと(末尾の数字の並び替え)    A列 1行  952 2行  263 3行  273 4行  885 5行  195 6行  567 よろしくお願いします。

  • Excelにて数字の末尾に0が付加される

    お世話になっております。 職場のノートPCのExcel2007にて、セルに入力した数字の 末尾に勝手に0が付加されてしまうという問題が発生して 困っております。たとえば、3と入力して、Enterを押すと 30と表示されます。数字以外の文字、たとえばaと入力すると、 0は付加されずaと表示されます。 私以外の社員が使用しているPCのため、きっかけ等は不明です。 私が自分で試してみたことは以下のとおりです。 ・外付けキーボードを接続→変わらず ・キーボードの清掃→変わらず ・Excelの削除・再インストール→変わらず ・セルの書式確認→標準になっている ・セルの書式を文字列に変更→0は付加されない。 ・http://mahoro-ba.net/e677.htmlに記載されている方法でのExcelの  初期化→変わらず ・既存のExcelファイルで動作確認→どのファイルでも同様 ・新規に作成したファイルで動作確認→同様の問題が発生 ほかにも試したことがあるかもしれませんが、だいたい以上のことを 試しています。改善の見込みがなく、大変困っております。 対処方法をご教授くださいますようよろしくお願いします。

  • 予想数字で使用した数字の印付け

    どなたかご存じでしたらご回答願います。 数字選択式宝くじのロト6及びミニロトをエクセルで管理しております。 次回のための予想数字候補として最大30個の数字について 1~43迄の数字に該当する場合には、"■”をつける方法が知りたいです。 ●知りたいことその(1)・・・予想数字が最大6行×5列に入っている場合で、                 数字が左上から右下にかけて数字が大きくなる場合。 【予想数字】 4 5 8 9 13 14 15 17 18 19 22 23 24 25 26 27 28 29 31 32 34 35 36 38 39 40 41 42 43 ●知りたいことその(2)・・・予想数字が最大6行×5列に入っている場合で、                  数字がランダムに入っている場合。 【予想数字】 4 35 24 25 31 14 15 17 18 19 22 23 8 9 26 43 28 29 13 32 34 41 36 38 40 39 5 42 27 ●知りたいことその(2)・・・予想数字が縦に最大30個昇順で入っている場合。 【予想数字】 4 5 8 9 13 : : 40 41 42 43 【予想数字として使用した数字】・・・知りたい事その(1)、その(2)、その(3)の実行結果。 1・・・4 5 6 7 8 9 ・・・ 12 13 14 15 16 17 18 19 ・・・ 39 40 41 42 43    ■ ■   ■■       ■ ■ ■    ■ ■ ■     ■ ■ ■ ■ ■      ●注意事項   1)知りたいことその(1)、その(2)、その(3)に出てくる【予想数字】の中の数字は1~43までの     数字が重複無しで入っています。   2)使用するエクセルは2007です。 以上

  • エクセルの数字の丸め方

    エクセルの関数についてよろしくご教授ください。 【質問】 3桁か4桁の数字の末尾の数字を0か5に丸めたい。 どのような関数が適当でしょうか? 【例】 108⇒110   113⇒115   118⇒120 109⇒110   114⇒115   119⇒120 110⇒110   115⇒115   120⇒120 111⇒110   116⇒115   121⇒120 112⇒110   117⇒115   122⇒120 すなわち107⇒105、123⇒125です。 よろしくお願いいたします。

  • 重複する数字のセルを塗り潰す方法。

    どなたかご存知でしたら回答をよろしくお願いします。 【質問】  5×5マスの中に数字が1~31迄で重複して入っている場合があります。  もし重複数字があれば、その数字のセルを塗潰す方法が知りたいです。 【例】 セルのA1~E5までに下記の様に数字が入っている場合、     重複数字の4,6,7、14、15,29のセルを塗潰す。 4 8 18 19 29 3 4 6 17 29 2 4 6 23 25 7 13 14 15 20 7 12 14 15 16 【注意事項】  ・使用するエクセルは2010です。  ・塗潰しの色は全て同じ色でかまいません。 以上、よろしくお願いします。

  • 1つのセルの中にある2桁数字を入れ替える。

    どなたかご存じでしたら回答をよろしくお願いします。 【質問】  下記の【例】の様にエクセルの1つのセルのに2桁の数字が入っているとします。  2桁目と1桁目の数字を入れ替える方法が知りたいです。 【例】  (1)  3 → 30 :”03”を入れ替えて”30”となる。  (2) 10 → 01:”10”を入れ替えて”01”となる。  (3) 33 → 33:”33”を入れ替えて”33”となる。  (4) 43 → 34:”43”を入れ替えて”34”となる。 【注意事項】   ・2桁の数字は、1~43迄です。   ・使用するエクセルは2010です。 以上、よろしくお願いします。

  • 同一数字の重複を”1”としてカウントする方法。

    どなたかご存じでしたらご回答よろしくお願いします。 【質問】  エクセルのA列~E列に0~9迄の任意の数字が1つだけ入っています。  これをF列で「同一数字はいくつ重複しても”1”として数字の数をカウントする方法」  が知りたいです。具体的に下記のエクセルシートのとおりです。 ●エクセルシート   A B C D E F   3 3 1 7  8 4 ←"3"は同一数字で2個重複するが"1個"とみなして、3178の4となる。   7 7 7 7  7 1 ←"7"は同一数字で5個重複するが "1個"とみなして、7の1となる。   4 4 4 4  2 2 ←"4"は同一数字で4個重複するが "1個"とみなして、42の2となる。   6 6 6 3  1 3 ←"6"は同一数字で3個重複するが "1個"とみなして、631の2となる。   1 1 8 8  8 2 ←"1"は同一数字で2個重複、"8"は同一数字で3個重複するがそれぞれ               "1個"とみなして、18の2となる。   3 3 2 2  5 3 ←"3"と"2"は同一数字で2個ずつ重複するがそれぞれ"1個”とみなして                325の3となる。   3 4 5 6  7 5 ← 同一数字の重複は存在しないため、34567の5となる。 ●注意事項   ・使用するエクセルは2010です。 以上、よろしくお願いします。

専門家に質問してみよう