今だけ人気マンガ100円レンタル特集♪

Excelのシートに、日付型で記入されたセルがたくさんあり、これを、形式を変えてテキスト化したいと思っています。

例えば
2005/8/26 となっているのを'20050826
としたいのです。(「'」はテキスト化するためのもの)

既出かもしれませんが、探せませんでした。
よろしくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (4件)

こんにちは。

KenKen_SP です。

ご質問の意味を取り違えているかもしれません、、、

単純に見かけだけの問題であれば、セルの表示形式でユーザー定義

yyyymmdd

にすれば良いのでは?これで、表示上は 20050826 となりますが、
シリアル値は保たれます。

印刷や CSV 出力でも書式は yyyymmdd のまま保持されますので、
問題ないかと。

データ型は日付型のままにしておいた方が後々の作業で扱い易い
と思いますよ。例えば、期間計算する必要がでてきた、、とか。
    • good
    • 0

テキスト化自体は#1,2の方のとおりですが



="'"&TEXT(A1,"yyyymmdd")
として結果をコピーして、形式を選択して貼り付けで値として貼り付けしてください。
    • good
    • 0
この回答へのお礼

どうもありがとうございました。
「'」が入っていますので、これまで手で入力してきたものと同じになり、これがベストではと思います。

お礼日時:2005/10/12 11:14

A1に日付があるとして・・・=TEXT(A1,"yyyymmdd")かなぁ。



値として必要ならセルをコピーして「値を貼り付け」になっちゃいますが。
    • good
    • 0
この回答へのお礼

どうもありがとうございました。
やはりこの方法でよさそうです。

お礼日時:2005/10/12 11:13

入力セルがA1とするとB1に


=TEXT(A1,"yyyymmdd")
デイかがでしょうか。
    • good
    • 0
この回答へのお礼

どうもありがとうございました。
この方法でよさそうです。

お礼日時:2005/10/12 11:11

このQ&Aに関連する人気のQ&A

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

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QACCESSで空白のデーターをクエリで判定/識別する方法を教えてくださ

ACCESSで空白のデーターをクエリで判定/識別する方法を教えてください。
EXCELでは空白を""で判定/識別表していますがACCESSではどうなるのでしょうか。

下の例はフィールドに試験番号があればその番号を、空白なら”欠席”と表示しようとしています。
IIf(([試験番号]="空白の場合何を入れる?"),[試験番号],"欠席")

Aベストアンサー

もうひとつの書き方は
式1: IIf([試験番号] Is Not Null,[試験番号],"欠席")
第2、第3引数の、質問の順序にあわせるとこうなる。

QEXCEL VBAマクロ作成で、他のEXCELからデータを取り込みたい

メインプログラム(EXCEL VBA)より、
他のフォルダーにあるEXCELの項目の内容を取り込みたいです。
たとえば他のフォルダーのEXCELのRange("A2:A3").ValueをメインプログラムのRange("C2:C3").Valueにセットしたい時です。

・コマンドボタン押したら、どこのEXCELから取り込むかのポップアップ(?)は、表示はできてます。
・作業者が選んだパスとブックもMsgBoxで表示できてるので、もらう相手の場所も取得できてます。

・となると次はOPEN,INPUTですか?
テキストデータの取り込みですと、Inputでそのバッファを定義してるのですが、なんか違うような。。。

よろしくお願いします!

Aベストアンサー

私がやる方法です。

Dim writeSheet As Worksheet ' 自分自身の書き出し先シート
Set writeSheet = ThisWorkbook.Worksheets(1) ' Sheet1 を参照

Dim readBook As Workbook ' 相手ブック
Set readBook = Workbooks.Open(filename) ' 相手ブックを開いて参照
Dim readSheet As WorkSheet ' 相手シート
Set readSheet = readBook.Worksheets("sheetName") ' 相手シートを参照
' または Set readSheet = readBook.Worksheets(sheetIndex)

' 例えば
writeSheet.Cells(1, 1).Value = readSheet.Cells(2, 2).Value ' 相手シートの B2 の値を自分自身の A1 に書き込む

readBook.Close False ' 相手ブックを閉じる
Set readSheet = Nothing
Set readBook = Nothing

私がやる方法です。

Dim writeSheet As Worksheet ' 自分自身の書き出し先シート
Set writeSheet = ThisWorkbook.Worksheets(1) ' Sheet1 を参照

Dim readBook As Workbook ' 相手ブック
Set readBook = Workbooks.Open(filename) ' 相手ブックを開いて参照
Dim readSheet As WorkSheet ' 相手シート
Set readSheet = readBook.Worksheets("sheetName") ' 相手シートを参照
' または Set readSheet = readBook.Worksheets(sheetIndex)

' 例えば
writeSheet.Cells(1, 1).Value = readSheet.Ce...続きを読む

Q異なるブック間でのセル範囲のコピー/VBA

異なるブック間でクリップボードを経由せず直接コピーしたいため
下記のマクロを記述していますが、実行エラーが発生します。
どうしてでしょうか。

ThisWorkbook.Worksheets(3).Range(Cells(3, 1), Cells(3 + a, 1)).Value = Workbooks("excel.xls").Worksheets(1).Range(Cells(11, 3), Cells(11 + a, 3)).Value

(補足)
(1)VBA実行中のThisWorkbook、excel.xlsは別のブック
ですが、同じフォルダにあります。
(2)aは数値が入る変数です。

Aベストアンサー

Cells(3, 1)や他のCellsが参照エラーになるためです。
ブックとワークシートを特定できないためエラーになってしまいます。
正しくは
ThisWorkbook.Worksheets(3).Range(ThisWorkbook.Worksheets(3).Cells(3, 1), _
ThisWorkbook.Worksheets(3).Cells(3 + a, 1)).Value _
= Workbooks("excel.xls").Worksheets(1).Range(Workbooks("excel.xls").Worksheets(1).Cells(11, 3), _
Workbooks("excel.xls").Worksheets(1).Cells(11 + a, 3)).Value

Q【Excel】数式をそのまま他のシートにコピーする方法

タイトルの通りです。

http://oshiete1.goo.ne.jp/qa4132116.html

検索したらこの過去質問があったのですが、コピーしたいセルが複数あり、さらにファイルが大量にあるので、この方法ですと手間がかかってしまいます。

せめてシート単位でコピーしたいのですが、何か方法はないでしょうか。

Aベストアンサー

下記操作を試してください。

コピー元セル範囲を選択
編集メニューの置換で
=

#
に「すべて置換」
Ctrl+C でコピー
貼り付け先に移動し、Ctrl+V で貼り付け
編集メニューの置換で
#

=
に「すべて置換」

これで良ければ「マクロの記録」をし、得られたコードを編集して汎用性のあるマクロにする。

QExel VBA 別ブックから該当データを検索し、必要なデータを取得する方法について

部品表というブックがあります
A列に商品名、B列に商品番号が入力してあります。C列のコードは未入力です。
A列     B列     C列      
商品名  商品番号  コード
モータ  U-1325-L  
ホルダ  R-134256

また、コード一覧表という別のブックには、A列に商品番号と、B列にコードが、何千件も入力されています。

やりたいことは
部品表のC列のコード欄に、コード一覧表ブックから商品番号と一致するコードを貼り付けしたいのです。

部品表は、何百種類もありますので、関数ではなく、マクロで処理を希望します。

自分では、部品表の商品番号をコピーして、コード一覧表で検索し、検索結果の右隣のセル(B列のコード)の値を部品表のC列に貼り付ければよいかと思い、書いてみたんですが…

Sub 別ブックから貼り付ける()
  Dim 検索する As Long
Windows("部品表.xls").Activate
検索する = cells(i,2).Value
Windows("コード一覧表.xls").Activate
ActiveWindow.SmallScroll Down:=-3
Selection.AutoFilter Field:=3, Criteria1:="=検索する", Operator:= xlAnd

と、してみたものの、検索しても、その検索結果の隣のセルのコードをどうやって取得すればいいのかが、わかりませんでした。

基本事項は本で学びましたが、呪文のようなコードはよく理解できません。懸命にネットで検索して、訳して理解する努力をしてはいますが。

どうぞよろしくお願いします。

部品表というブックがあります
A列に商品名、B列に商品番号が入力してあります。C列のコードは未入力です。
A列     B列     C列      
商品名  商品番号  コード
モータ  U-1325-L  
ホルダ  R-134256

また、コード一覧表という別のブックには、A列に商品番号と、B列にコードが、何千件も入力されています。

やりたいことは
部品表のC列のコード欄に、コード一覧表ブックから商品番号と一致するコードを貼り付けしたいのです。

部品表は、何百種類もありますので、関数...続きを読む

Aベストアンサー

こんにちは。
とりあえず実用性も踏まえました。
メインの動作はワークシート関数のVLOOKUPをVBA上で使用していますので理解はしやすいかと思います。
また、質問文から察するに「部品表.xls」と「コード一覧表.xls」の両方を開いて処理されていますが「コード一覧表.xls」はプログラム内で開いて閉じているので実行するときは「コード一覧表.xls」は閉じて置いてください。
Option Explicit
Sub Sample()
 Application.ScreenUpdating = False
 Dim I As Long
 Dim xlBook
 Set xlBook = Workbooks.Open("C:\★★\コード一覧表.xls") '★要変更★
 I = 2
 Do While Range("A" & I).Value <> ""
  ThisWorkbook.Worksheets("Sheet1").Range("C" & I).Value = Application.VLookup(ThisWorkbook.Worksheets("Sheet1").Range("B" & I).Value, xlBook.Worksheets("Sheet1").Range("A2:B65535"), 2, 0)
  I = I + 1
 Loop
 xlBook.Close
 Application.ScreenUpdating = True
 MsgBox ("完了")
End Sub

こんにちは。
とりあえず実用性も踏まえました。
メインの動作はワークシート関数のVLOOKUPをVBA上で使用していますので理解はしやすいかと思います。
また、質問文から察するに「部品表.xls」と「コード一覧表.xls」の両方を開いて処理されていますが「コード一覧表.xls」はプログラム内で開いて閉じているので実行するときは「コード一覧表.xls」は閉じて置いてください。
Option Explicit
Sub Sample()
 Application.ScreenUpdating = False
 Dim I As Long
 Dim xlBook
 Set xlBook = Workbooks....続きを読む

QAccessのクエリで、Left関数を使用して、7桁の数値を抜き出す方

Accessのクエリで、Left関数を使用して、7桁の数値を抜き出す方法。
IDが8桁で入力されているのですが、左から7桁だけを抜き出して、全てのレコードを表示させたかったのですが、誤って入力されている7桁のIDしか表示されませんでした。
いつもExcelを使用している感覚だったので、文字の左から7桁の数値や文字列を抽出して表示してくれるものと思っていました。
元のテーブルに入力されているIDを変更することなく、
クエリで、7桁だけにして、その取り出した7桁で区別し、グループとして認識し合計を出したいと考えているのですが、どうすればよいのでしょうか。
宜しくお願い致します。

Aベストアンサー

>Left関数をする前は、5000行程なのですが、関数を加えたとたん4300程度に減ってしまいます。

関数を加えるのでは無く、関数だけ(演算フィールドのみ)のクエリを作成をして実行させます
単にleft関数で左から何文字取れという演算フィールドしか持たないクエリを実効させれば、指定した桁数に満たない場合には実際にある桁数まで、一文字も入っていない場合には0を返して、全データ分のクエリ結果を返します

全件分のデータが帰って来ないという事は作成しているクエリに問題ありの可能性高いです

先の書き込みに書きましたが、手順は演算フィールドのみのクエリを作成し実行させ全データが取得出来る事を確認してから、この演算フィールドのみのクエリに必用なフィールドを追加してゆくって事してください

QSUMIFS関数で「計算式による空白以外」を条件に指定したい

SUMIFS関数のいくつかの条件の中で、,B1:B10,"<>",とすれば、
B1~B10の空白以外ということになるのは調べてわかったのですが、
B1~B10に式が入っているため、空白と判断されません。
たとえば、=IF(A1=10,"",C1*D1)のような感じで、
A1が10でB1が空白になっている場合、空白とみなされないようです。
計算式による空白以外を条件にするにはどう記述すればいいのでしょうか?

Aベストアンサー

こんばんは。

例:
B1:~B10
=IF(A1=10,"",C1*D1)

A B
10   
1   20
2   30
3   42
4   56
5   72
6   90
7   110
8   132
9   156

としますね。(C列,D列は省略します)

"<>"では数式が入っているとうまく行きません。(Excel 2010)
----------------------------------------------------
 =SUMIFS(A1:A10,B1:B10,"<>*")

これはどうでしょうか?

結果
B列の数式に「""(長さ0の文字列)」が入っている場合は、
 45
Empty(空)の場合は、
 55
----------------------------------------------------
しかし、最初の数式
=SUMIFS(A1:A10,B1:B10,"<>")
では、
B列の数式に「""(長さ0の文字列)」が入っている場合は、
 55
Empty(空)の場合は、
 45
 
と逆の結果になりました。

本来は、">0" とか、"<>0"とかにすればよいとは思います。
ちなみに、""の[長さ0の文字列]を探す数式は、

=SUMIFS(A1:A10,B1:B10,"<""")

とすれば、結果は、10となります。

こんばんは。

例:
B1:~B10
=IF(A1=10,"",C1*D1)

A B
10   
1   20
2   30
3   42
4   56
5   72
6   90
7   110
8   132
9   156

としますね。(C列,D列は省略します)

"<>"では数式が入っているとうまく行きません。(Excel 2010)
----------------------------------------------------
 =SUMIFS(A1:A10,B1:B10,"<>*")

これはどうでしょうか?

結果
B列の数式に「""(長さ0の文字列)」が入っている場合は、
 45
Empty(空)の場合は...続きを読む


人気Q&Aランキング

おすすめ情報