• 締切済み

エクセルで実数を表す番号を振る

昨日エクセルで枝番を振るためにはどうすればいいのかという質問をさせていただきましたが、今の配置を崩さないようにソートをかける(後から入ってきたデータは既にあるデータの後ろにつける)だけなら、表のような番号を振るのがいいのではないかと思いました。 D列とF列に自動で番号を振る数式を教えていただけないでしょうか。 どうかよろしくお願いいたします。

みんなの回答

  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.4

D列はC列の数 F列はD列に数値がある場合はD列の値、D列が空白の場合は直前のF列の値 とすると D2=IF(C2="","",COUNTA(D$2:D2)) F2=IF(D2="",F1,D2) で下方にコピーでいいと思います。

回答No.3

質問の >昨日エクセルで枝番を振るためにはどうすればいいのかという質問をさせていただきましたが、 >今の配置を崩さないようにソートをかける >(後から入ってきたデータは既にあるデータの後ろにつける)だけなら、 という意味は、分かりませんでした。並び替えはデータベース機能のひとつです。 データベースは1行だけで、1件分のデータを表さなければなりません。 つまり、前の行の関与はありません。 >表のような番号を振るのがいいのではないかと思いました。 のみ絞ると D2セル =IF(C2="","",F2) 下へオートフィル F2セル =SUM((C2<>"")*1,F1) 下へオートフィル # 「実数」とは http://w3e.kanazawa-it.ac.jp/math/category/suu-to-siki/suu/henkan-tex.cgi?target=/math/category/suu-to-siki/suu/jissuu.html

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.2

 ANo.1です。  先程の回答の方法では、都道府県名や、市名、町名に重複が無いことが前提でしたが、以下の方法であれば、重複があっても、正しい番号を割り振る事が出来ます。  まず、B列の中の適当なセルに次の関数を入力してから、そのセルをコピーして、B列のその他のセルに貼り付けて下さい。 =IF(INDEX($A:$A,ROW())="","",IF(COUNTIF($A$1:INDEX($A:$A,ROW()),INDEX($A:$A,ROW()))=1,MAX(B$1:B1)+1,VLOOKUP(INDEX($A:$A,ROW()),$A:B,2,FALSE)))  次に、D列の中の適当なセルに次の関数を入力してから、そのセルをコピーして、D列のその他のセルに貼り付けて下さい。 =IF(INDEX($C:$C,ROW())="","",IF(COUNTIF($C$1:INDEX($C:$C,ROW()),INDEX($C:$C,ROW()))=1,MAX(D$1:D1)+1,VLOOKUP(INDEX($C:$C,ROW()),$C:D,2,FALSE)))  次に、F列の中の適当なセルに次の関数を入力してから、そのセルをコピーして、F列のその他のセルに貼り付けて下さい。 =IF(INDEX($E:$E,ROW())="","",INDEX($D:$D,MATCH(9^9,$D$1:INDEX($D:$D,ROW()))))

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.1

 まず、B列の中の適当なセルに次の関数を入力してから、そのセルをコピーして、B列のその他のセルに貼り付けて下さい。 =IF(INDEX($A:$A,ROW())="","",COUNTIF(INDEX($A:$A,ROW($A$1)+1):INDEX($A:$A,ROW()),"*?"))  次に、D列の中の適当なセルに次の関数を入力してから、そのセルをコピーして、D列のその他のセルに貼り付けて下さい。 =IF(INDEX($C:$C,ROW())="","",COUNTIF(INDEX($C:$C,ROW($C$1)+1):INDEX($C:$C,ROW()),"*?"))  次に、F列の中の適当なセルに次の関数を入力してから、そのセルをコピーして、F列のその他のセルに貼り付けて下さい。 =IF(INDEX($E:$E,ROW())="","",MAX($D$1:INDEX($D:$D,ROW())))

関連するQ&A