アプリ版:「スタンプのみでお礼する」機能のリリースについて

Excel2007を使っています。

学校の生徒番号を5桁で表示しています。
例えば1年1組1番は10101です。
一部の授業が2年生と3年生の合同授業があるためです。
ですが、ほとんどの授業は学年単位なので3桁表示で十分です。

そこで「10101」を「101」のように表示させることはできるでしょうか?
同様に「20101」も値を変えずに表示だけ「101」にすることはできますか?

ご教示お願いいたします。

A 回答 (4件)

原則としてそういうことが出来る方法はありません。



敢えて行うとすると
例1)
セルの書式設定を文字列に変えておく
10101を記入する
数式バーの中で消したい10の文字を選択し,フォントの色を白,またはセルの塗り色と同じ色に変えてEnterする

例2)
セルの書式設定の表示形式のユーザー定義で
##Ctrl+J000
ここでCtrl+Jはキーボードでコントロールキーを押しながらJのキーを押す
と設定し,
更に配置タブに移って縦方向の配置を下詰めに設定し,折り返して全体を表示のチェックを入れてOKし,
更に行の高さを今の高さから+1ピクセルか+2ピクセル高くする

のような工夫はできます。


#本筋ではありませんが「10や20を表示しない」は間違いだと思います。


あとは実際の作表の工夫で,A列に5桁の「マスター生徒番号」を用意しておいてから,B列に「表示用の3桁あるいは5桁の生徒番号」を別に計算しておいて,そちらを実際に使った方が合理的です。
もちろんA列に学年,B列に組+生徒を並記しておき,C列に必要に応じて必要なデータを計算で作成してそちらを使うのも合理的なやりかたです。
    • good
    • 0
この回答へのお礼

忙しい中、回答ありがとうございました。

やはり無理なようですね。

画面の小さなノートパソコンだと列幅を5桁の数字が見えるように広くとると、
1クラス分を見るのにスクロールしないといけないので、なんとか3桁表示にして
列幅を狭くしようと思ったのですが。

ある大学との連携講座だけが、2,3年合同クラスがあるのですが、その講座以外は
複数学年の授業はないので、5桁の数字の必要はないのです。

「マスター生徒番号」を用意して関数で引っ張ってくるというのが現実的ですね。
ありがとうございました。

お礼日時:2012/02/18 12:00

こんばんは!


横からお邪魔します。
苦肉の策ですが・・・
VBAでの一例です。
文字列として、各セルの左2文字のフォントの色を「白」にするようにしてみました。
(半角ですすべての文字が「白」になりますので、表示は全角としています)

画面左下の操作したいSheet見出し上で右クリック → コードの表示 → VBE画面がでますので
セルを範囲指定後、マクロを実行してみてください。
(Alt+F8キー → マクロ → マクロ実行です)

Sub test() 'この行から
Dim c As Range
For Each c In Selection
With c
.NumberFormatLocal = "@"
.Value = StrConv(c, vbWide)
.Characters(Start:=1, Length:=2).Font.ColorIndex = 2
.HorizontalAlignment = xlRight
End With
Next c
End Sub 'この行まで

※ かなり強引にやっていますので、見た目は良くないかもしれません。
参考になりますかね?m(_ _)m
    • good
    • 0
この回答へのお礼

回答ありがとうございました。

数値を文字にして、フォントの色を白にするという発想はありませんでした。

ですが、VBAの処理のため、数値は数値にしておかないといけないので、
ちょっと使えないと思います。

ただこのような発想は私一人ではとても思いつかないので、また別の機会に
利用させてもらいたいと思います。

お礼日時:2012/02/19 18:22

>1クラス分を見るのにスクロールしないといけないので、なんとか3桁表示にして


生徒番号の列の書式を文字列、右詰めにしてセル幅を3桁分にすれば
10203のままで画面では203のみ表示されているように見えます。
ただし、生徒番号の列の左となり列が空の場合は、10が見えてしまいます。
この方法では、VBAに影響するなら、無視してください。
    • good
    • 0
この回答へのお礼

回答ありがとうございました。

なるほど、文字列にしてセル幅を狭くするというのもひとつの手ですね。

VBAでの処理に問題がないか試してみたいと思います。

お礼日時:2012/02/18 16:51

生徒番号を5桁の列がAとすると3桁用の列Bを作って


Bに式 =RIGHT(A2,3) と入力すれば下3ケタになります
 (この式でA2はA列のセル番号、3は取り出す文字数)
後は必要行コピーすればOK
見せたくなければ列を選択し”表示しない)に設定する
    • good
    • 0
この回答へのお礼

回答ありがとうございました。

質問の内容は「5桁の数字を値を変えずに表示のみ下3桁で表示したい」ということです。
ですので、別の列や行に表示させるわけではないのです。

処理をVBAで組んでおり、列や行を簡単に変えるわけにはいかないのです。

お礼日時:2012/02/18 13:02

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