「これはヤバかったな」という遅刻エピソード

ある10桁の数値をもとに「=MOD(数値のセル,7)」で1桁を出し、
その10桁+1桁を合体させて11桁の数字で表示することは可能でしょうか。。

1つのセルの中では無理でしょうか。。
10桁と1桁が別のセルになってしまうのが悔しいです。

作業目的としては、既存のチェックデジット付きの11桁の数字を大量に入力する際に入力ミスを防ぎたい為です。
計算用として2つのセルを使ってしまうのは仕方がないのでしょうか。

理想としては11桁を入力し、関数のルールに当てはまらない又は11桁ではない数値が入力された時に入力出来ないようにする事です。。

エクセルに関しては勉強不足で申し訳ありませんが、
知っている方いらっしゃいましたら可能な方法を教えてください。。
宜しくお願いいたします。

質問者からの補足コメント

  • ありがとうございます!
    こちらの方法では1つのセルで可能ですか?

    No.1の回答に寄せられた補足コメントです。 補足日時:2020/11/18 13:36
  • ありがとうございます!
    「=A1*10+(MOD(A1,7))」
    この数式の考え方と同じでしょうか?

    No.3の回答に寄せられた補足コメントです。 補足日時:2020/11/18 13:42

A 回答 (4件)

> ある10桁の数値をもとに「=MOD(数値のセル,7)」で1桁を出し、その10桁+1桁を合体させて11桁の数字で表示する


  
10桁の数値をA1として、任意のセルに=A1*10+(MOD(A1,7)) でいかがでしょうか?
但しA1に数値を入れて、結果をA1は出来ません。
    • good
    • 1

10桁の数字の後ろに1桁の数字をくっつけて、11桁にしたいのでしょ?


どんなアルゴリズムが働くのかを理解しましょう。
この手の問題のポイントはここにあります。

文字列として結合した数字に対して四則演算を行うと、
Excelは数値として計算して数値で返してくれるという性質も覚えておくと良いでしょう。
(「0」を足すのではなく、「1」を掛けても良い。一般的には1を掛ける方を多く見かける)
    • good
    • 0

元の10桁の数字を10倍して、チェックデジットとして求めた1桁の数字を足せば良いと思う。


文字列として結合してから、「0」を足して数値に直しても良いけど、
それだと処理にチョットだけ時間が掛かるので、大量に行うと結構差が出る。
10倍してチェックデジットを足すことを勧めます。

あとは「入力規則」で入力する値を制限すれば良い。

※ ここで答えられている内容で、分からない所は自身で調べましょう。
 難しくはないよね。
この回答への補足あり
    • good
    • 0

可能です。


手順としては、
数値(数字)を文字化(テキストに)し、
その文字を結合し、
結合した文字(中身は数字)を数値化する(数値に戻す)。
これらの個々の関数を連結して一つの式にすればよいです。
この回答への補足あり
    • good
    • 0

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


おすすめ情報