• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセル関数)

エクセル関数:通し番号に応じた値を自動入力

このQ&Aのポイント
  • エクセル関数を使用して、通し番号に応じた値を自動入力する方法を教えてください。
  • A列には連続する通し番号があり、B列には0または1が入っています。B列の値に応じて、C列に自動で値を入力したいです。
  • B列が0の場合は0を、B列が1のグループの先頭行には1を、途中の行には2を、最後の行には3を入力したいです。適切な関数を教えてください。

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

  • ベストアンサー
  • HohoPapa
  • ベストアンサー率65% (455/693)
回答No.3

添付画像のような計算式はいかがでしょうか。 なお、1 のグループが1つしかないときは、 1で、かつ3になるわけですが、 計算式では、3になるようにしました。 1としたいですか? =IF(B2=0,0,IF(AND(B1=1,B3=1),2,IF(B3=0,3,1)))

noname#251202
質問者

補足

ありがとうございました。 1のグループが1つしかないケースはありません。通し番号がダブっていないならB列は0だからです。 これを踏まえると、数式はどうなりますでしょうか?

その他の回答 (5)

  • HohoPapa
  • ベストアンサー率65% (455/693)
回答No.6

ごめんなさい、#5の説明は違っています。書き換えます。 1)左側が0なら0 2)左上が1、かつ、左下が1なら2 3)左下が0なら3 4)残りは1 言い換えれば、 ◆2)は以下の場合です。  1  1   1 ◆3)は  0  1   0 または  1  1   0 または  0  1   空欄 または  1  1   空欄 ◆4)はそれ以外ですので、 左下に0,1、空欄以外の文字、数値が埋まった場合です。 取りうる条件(組み合わせ)を限定列挙してくれれば 直した式を示せると思います。

  • HohoPapa
  • ベストアンサー率65% (455/693)
回答No.5

1)左側が0なら0 2)左上が1、かつ、左下が1なら2 3)左下が0なら3 4)残りは1 言い換えれば、 2)は以下の場合です。  1  1 ここが2  1 3)は  0  1 ここが3  0 または  1  1 ここが3  0 4)は  1  1 ここが最終行のときに3  または  0  1 ここが最終行のときに3  つまり、最終行が1の時です。

noname#251202
質問者

お礼

ありがとうございました!

  • HohoPapa
  • ベストアンサー率65% (455/693)
回答No.4

>1のグループが1つしかないケースはありません。 であれば、示した数式でいいと思います。 どこか、期待と異なる結果の行はありますか?

noname#251202
質問者

補足

大丈夫でした。大変助かりました。ありがとうございました。 後学のため...最後のネストの偽の場合が1である理由は何でしょうか?

  • SI299792
  • ベストアンサー率47% (772/1616)
回答No.2

画像の様な、1行目の空いた表でいいですか。 B2: =(COUNTIFS(A:A,A2)>1)+0 C2: =B2+(A1=A2)+(A2<>A3)*B2 下へコピペ。

noname#251202
質問者

補足

ありがとうございました。表はこのとおりですが、B列は既に入力されています。 教えてくださった関数はなじみがないので、これから勉強しようと思います。 あと、最初の方の回答を見て、B列だけを使う方法がいいなと思いました。恐縮ですが、よろしければA列はないものとしての方法もご教示頂けると大変助かります。

  • kon555
  • ベストアンサー率51% (1842/3559)
回答No.1

 IFS関数で対応できますね。貴方が書かれた条件の「先頭行,途中の行,最後の行」というのは、上下のセルを参照すれば判別できます。  B列が1かつ、B列の1つ上のセルが0なら『1』みたいな感じです。 https://dekiru.net/article/14285/

noname#251202
質問者

補足

ありがとうございました。 大変申し訳ありません! エクセルのバージョンを書き忘れました。IFSは無いです。もしよろしかったらIFのネストでの数式そのものを教えて頂けないでしょうか?

関連するQ&A