エクセルで1文字だけ表示させたい場合



◇-?エクセルで1文字だけ表示させたい場合-困り者-11/30-11:54(150)-No.310185
 ┣?!Re:エクセルで1文字だけ表示させ...-白茶-11/30-12:44(149)-No.310198
 ┃┗?!【ありがとう】Re:エクセルで1文...-困り者-11/30-13:49(148)-No.310214
 ┃ ┗?!【ありがとう】!Re:エクセルで1...-白茶-11/30-16:44(145)-No.310250
 ┃  ┗?!A!【ありがとう】Re:エクセルで1...-困り者-12/01-16:39(121)-No.310485
 ┗?!Re:エクセルで1文字だけ表示させ...-Pochi-12/04-10:13(55)-No.311082

▲このページのトップに戻る
310185エクセルで1文字だけ表示させたい場合困り者 2005/11/30-11:54

メーカー名:NEC 日本電気
OS名:WindowsXp Professional
パソコン名:mate
ソフト名:office2000
ソフト関連:日本語変換ソフトの詳細を記入 エクセル
--
こんにちは。
エクセルでA1のセルに18桁の数字を入力しなければなりません。
この入力についてはいつ誰がするか、数字も商品コードの為ランダムです。
この18桁の数字を入力した際に、表示されるのは最初の1桁だけを
表示したいのですが、何かいい方法はありませんでしょうか?
関数でやってみましたが、そのセルに改めて入力したら関数が消えちゃうし、
入力規則や、書式でも見てみましたがピンとくるものは無いようです…。
どなたかいいアドバイスをお願いします!

▲このページのトップに戻る
310198Re:エクセルで1文字だけ表示させたい場合白茶 2005/11/30-12:44

記事番号310185へのコメント
困り者さんは No.310185「エクセルで1文字だけ表示させたい場合」で書きました。

こんにちは。

セル内容が数値なら、表示形式で「見た目」だけ1桁目のみの表示に
「見せかける」事は可能なのですが、18桁となると無理ですね。
EXCELの有効桁数は15桁ですから、表示云々以前に、
下3桁の数字が「0」に変換されちゃうですよ。
「123456789012345678」と入力したら
「123456789012345000」に自動変換されます。

ということは、
18桁のコードは、文字列として入力するわけですね?
だとすると表示形式では不可能です。
入力規則は用途が違います。今回は無関係です。

見た目の話じゃなくて実際のセル内容を入力と同時に1桁目だけの数値に
変換するということなら、VBAでの処理になります。
ただ、それをするなら最初から1桁目だけ入力すれば済む話ですし。

関数でやるのがいちばん簡単だと思いますよ。
>そのセルに改めて入力したら関数が消えちゃう
コードを入力しない場所に関数を置けばよいのでは?

▲このページのトップに戻る
310214Re:エクセルで1文字だけ表示させたい場合困り者 2005/11/30-13:49

記事番号310198へのコメント
白茶さんありがとうございます。
そうですね…
今回は無理みたいですね。

ちなみに数値は
123456 012345678
といった形で入力されます。

>コードを入力しない場所に関数を置けばよいのでは?
これも思ったのですが、申し込み書のようなものなので、
その商品コードを入力するセルは決まっていて、
そこに打ち込んでもらいたいのでちょっと難しいのです。

ちなみに15桁だとするとどうやって
やったらいいのですか?


▲このページのトップに戻る
310250Re:エクセルで1文字だけ表示させたい場合白茶 2005/11/30-16:44

記事番号310214へのコメント
困り者さんは No.310214「Re:エクセルで1文字だけ表示させたい場合」で書きました。

すみません、遅くなりました。

>ちなみに数値は
>123456 012345678
>といった形で入力されます。

なるほど。そういう文字列だったのですね。

>ちなみに15桁だとするとどうやって
>やったらいいのですか?

先程の
>123456 012345678
を例にしてみます。

文字列のままでは設定できませんので、
「123456012345678」と入力した「数値」であると仮定します。

表示形式のユーザー定義で、
0を1つ入力し、続けて「Ctrl」を押しながら「J」を入力。
更に続けて00000000000000と入力。

この時点で「サンプル」には「1・23456012345678」と表示されていると思います。
続けて、「配置」タブで「折り返して全体を表示する」にチェックして、
念の為に「縦位置」を「上詰め」にして「OK」。

これで、セルの高さが1行分であれば「1」だけ表示されているように
見えると思います。(セルの高さを広げると隠された文字が出てきます)

Ctrl+Jは、セル内改行(Alt+Enter)と同じ事と思っていただいて良いと思います。
関数では=CHAR(10)の結果と同じ意味です。

「縦位置」を「上詰め」がマズい場合は、
現状に合わせてCtrl+Jを追加すれば何とかなるかも・・・。


ちなみに、
「123456012345678」と入力した「数値」を
元々の「123456 012345678」と表示するのは、
表示形式のユーザー定義で「000000 000000000」
と設定します。

以上、ご参考まで・・・


▲このページのトップに戻る
310485Re:エクセルで1文字だけ表示させたい場合困り者 2005/12/01-16:39

記事番号310250へのコメント
白茶さんありがとうございます!
レス遅くなってしまってすみません。
とても丁寧なご説明で参考になりました!
15桁までの時には是非活用したいと思います。

▲このページのトップに戻る
311082Re:エクセルで1文字だけ表示させたい場合Pochi 2005/12/04-10:13

記事番号310185へのコメント
いわゆる正論っぽい方式になりますが、入力列と表示列を
分けちゃダメなのでしょうか?
(単に思いつかないって部分もありますが)

1)A列を事前にセルの書式設定で文字列として指定しておく
 *白茶さんの言及されている桁対策と、
  0から始まるコードを入力可能にするため
2)入力した商品コードを別途表示する列を用意する(例B列)
3)B1に =left(A1,1) *B列には入力しない

運用を考えると、商品コードを入力した人自身が入力後に自分の入力を
画面上や紙上でチェックするでしょうから、入力したセル自体から
表示させないというより別のセルに表示専用のものを作った
方が、現実的だと思いますので。

Pochi

A1.本ページは参考になりましたか? 又はアドバイスがありますか?
解決 参考になった 参考にならなかった アドバイスする

A2.何度目の訪問ですか?
初めて来た   数度目(2〜4) 5回以上来ている   管理人:

A3.何か一言どうぞ(アドレスは書くことができません)

A4.アドレスがあればどうぞ(1つまで)


↑↑↑↑よろしければ押してください↑↑↑↑

何か一言(本ページで参考になったならないを含めて残してあります)
◎:解決 ○:参考になった ×:参考にならなかった !:アドバイスあり

参考回数投稿日時何か一言