ネットが遅くてイライラしてない!?

エクセル形式で、表を作ってCSV形式で保存するのですが、
CSV形式で保存したデータをメモ帳(テキスト形式)で開くと、
エクセル・CSV形式の時には表示されていなかった空白(半角スペース)が出来てしまっています。。。


業務上必要なデータで、項目には半角英数13ケタの数字しか入力してはいけないのですが、
その空白が出来てしまってしまうので、エラー扱いにされてしまいます。

どのようにすればテキスト形式で表示したときにこの空白が生れないように出来るのでしょうか?
宜しくお願い致します。

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

A 回答 (3件)

ご存じかもしれませんが、エクセルの仕様で12桁以上の数字を入れると表示がエラーのようにになります。


正確に言うとエラーでは、無くて指数表示になっているわけですが、13桁の数字を入力されているとのことですので、こちらは対処済みかと思います。
今回の質問は、半角スペースが入ってしまうということですよね?
前出の指数表示の表示方法の対処方法とにていますが、該当するセルの書式を設定することで回避出来ます。
設定方法は、13桁の数字の入っているセルの書式設定を開きます。
表示形式をユーザーにして、種類の一番上のサンプルを見てください。
[0_ ] ←かっこ内の部分を確認していただくとおわかりになるかと思います。
0は、数字ですが、その後ろにアンダーバーと半角スペースが入ってしまっています。
[0]だけを残し、アンダーバーとスペースを削除してください。
その後にCSV形式で、出力してあげればスペースは、消えています。
但し、再度エクセルからそのCSVを読込すると書式が、標準なのでスペースも入ってしまいますし、ケースによっては、指数表示(3.21099E12)にようになってしまうかもしれませんが、その場合は、書式の設定で直してください。
※添付の画像で赤の楕円で囲んだ部分です。
「CSV形式にすると出てくる空白を消したい」の回答画像3
    • good
    • 3

CSVはカンマをデリミッターとしたプレーンテキスト形式です。


テキストエディターで開いたならスペースなど入りません。
具体的な例が無いのでなんとも言えませんが、元々EXCELの時に、セル内にスペースが入っていませんか?
入っていれば、それはそのまま出力されます。
    • good
    • 1

エクセルの、検索と選択、の、置換え、で、スペースをブランクに置き替えて、削除してみて下さい。

    • good
    • 0

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

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

このQ&Aを見た人はこんなQ&Aも見ています

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

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

Q【Excel】 csvの作成時、空白セルにもカンマ

こんにちは

A列のA10まで、に値が入ります。
B列は、B1=IF(A1="","",A1) として、B10までフィルしました。

A1からA5までに1、2、3、4、5と入力し、A6からA10は空白にします。
B1からB5までは、1、2、3、4、5が表示され、
B6からB10までは空白です。

このSheetを、csvで保存し、テキストで開きますと

1,1
2,2
3,3
4,4
5,5
,
,
,
,
,
,


となります。

この、6行から10行の「,」がないcsvを出力したいのですが、
元のSheetの式はどうしたらよいでしょうか。

Excel2007です。

宜しくお願いします。

Aベストアンサー

>この、6行から10行の「,」がないcsvを出力したいのですが、元のSheetの式はどうしたらよいでしょうか。
そんな都合の良い数式は見当たりません。

Excelのセルに数式を入力すると計算結果で""を代入すると何もない状態ではありません。
文字数が0の文字列としてデータが入りますのでA列が何もない場合(NUL)でもB列の位置を示すカンマ(,)が出力されます。

QExcelマクロ 空白セルを無視してCSV出力

Excelのマクロについて質問します。

<sheet1>の内容をCSVに出力するマクロを使用しているのですが、
問題があって困っています。

<seet1>のA1~K30までは数式が入っていて、<sheet2>のA1~A30に
「OK」と表示されている場合、<sheet1>の対応した行に数値が表示されます。
「OK」以外の場合は、空白になるようにしてあります。


【sheet1】
  A    B    C    D    E …
1 100  200  300  400  500
2 100  200  300  400  500
3 100  200  300  400  500
4 100  200  300  400  500
5
6


【sheet2】
  A
1 OK
2 OK
3 OK
4 OK
5
6

<sheet1>をマクロでCSV出力する際に、「空白だけど数式が入っているセル」を
除外する方法を教えてください。

現在は「空白だけど数式が入っているセル」もCSV出力されてしまい、「,」が
連続で表示されるので、手動で「,」を削除しています。

■今使用しているマクロは以下になるので、これに追記する形で改良できないでしょうか。

Sub CSV出力()
Dim FileN As String
FileN = Application.GetSaveAsFilename( _
InitialFileName:="book1.csv", _
FileFilter:="CSV ファイル (*.csv), *.csv")

Sheets("sheet1").Copy
ActiveWorkbook.SaveAs Filename:=FileN, FileFormat:=xlCSV
ActiveWorkbook.Close Savechanges:=False
End Sub

よろしくお願いします。

Excelのマクロについて質問します。

<sheet1>の内容をCSVに出力するマクロを使用しているのですが、
問題があって困っています。

<seet1>のA1~K30までは数式が入っていて、<sheet2>のA1~A30に
「OK」と表示されている場合、<sheet1>の対応した行に数値が表示されます。
「OK」以外の場合は、空白になるようにしてあります。


【sheet1】
  A    B    C    D    E …
1 100  200  300  400  500
2 100  200  300  400  500
3 100  200  300  400  500
4 10...続きを読む

Aベストアンサー

こんばんは。

出力したものは、行の長短が出来て、凸凹になってしまってもよいということですか?

>これに追記する形で改良できないでしょうか。

Sheets("Sheet1").Copy の後で、あくまでも、空白が「文字列」になっている条件ですが、
Range("A1:K30").SpecialCells(xlCellTypeFormulas, xlCellTypeConstants).Delete Shift:=xlToLeft

とすれば出来ます。

しかし、こんなコードも考えられます。以下の場合は、複雑な条件を取りつけることが可能です。
今回は、「""」という表示になっていることが条件です。

'//標準モジュールで、出力は、ActiveSheet
Sub Test1()
 Dim FName As String
 Dim Fno As Integer
 Dim myRange As Range
 Dim i As Long, j As Long
 Dim strLine As String
 Set myRange = Range("A1", "K30") '範囲
 
 FName = Application.GetSaveAsFilename( _
           InitialFileName:="book1.csv", _
           FileFilter:="CSVファイル (*.csv), *.csv")
 If FName = "False" Or FName = "" Then Exit Sub 'キャンセルが利くようにする
 
 Fno = FreeFile()
 Open FName For Output As #Fno
 For i = 1 To myRange.Rows.Count
  For j = 1 To myRange.Columns.Count
   If Trim(Cells(i, j).Value) <> "" Then
    strLine = strLine & "," & Cells(i, j).Value
   End If
  Next j
  Print #Fno, Mid(strLine, 2)
  strLine = ""
 Next i
 Close #Fno
 Set myRange = Nothing
End Sub

こんばんは。

出力したものは、行の長短が出来て、凸凹になってしまってもよいということですか?

>これに追記する形で改良できないでしょうか。

Sheets("Sheet1").Copy の後で、あくまでも、空白が「文字列」になっている条件ですが、
Range("A1:K30").SpecialCells(xlCellTypeFormulas, xlCellTypeConstants).Delete Shift:=xlToLeft

とすれば出来ます。

しかし、こんなコードも考えられます。以下の場合は、複雑な条件を取りつけることが可能です。
今回は、「""」という表示になっていることが条件です。...続きを読む

Qエクセル→CSVにした時、スペースの数が違う

あるソフトにデータを取り込むにあたり、エクセルで作ったデータをCSVに変換しました。
変換方法は、エクセルの名前を付けて保存→ファイルの種類「CSV(カンマ区切り)」で保存して作りました。
行はそれぞれ人の名前が入っており、列にはその人の情報が入っています。
メモ帳で作成したCSVファイルを確認すると、スペースの数が違う場合があります。
具体的には、A列に名前、B列に対応する数字(例えば通し番号)が入っているとした時、
多くの人は名前と通し番号の間にスペースが10個程度入り(名前の長さで違う)、カンマで区切った後に通し番号が入ります。
しかし、一部の人にはスペースがはいらずに、名前にカンマと通し番号が続いて表示されます。
<メモ帳で作成したCSVファイルを開いた時の例>
ヤマダ○タロウ○○○○○○○○○○○○○,1,…
スズキ○ハナコ○○○○○○○○○○○○○,2,…
タカハシ○イチロウ○○○○○○○○○○○,3,…
タナカ○アイ○○○○○○○○○○○○○○,4,…
キムラ○ジロウ,5,…
サトウ○シヨウコ○○○○○○○○○○○○,6,…
※○はスペース

この例のキムラジロウの時のように、スペースの数が違って表示される理由がなぜなのかと、どのようにしたらこれを回避できるのか教えていただけませんか?
使うソフトの仕様通りにCSVを作成しているのに、ソフトにデータをうまく取り込めないので、こういったところに問題があるのかと考えています。

ご回答よろしくお願いします。

あるソフトにデータを取り込むにあたり、エクセルで作ったデータをCSVに変換しました。
変換方法は、エクセルの名前を付けて保存→ファイルの種類「CSV(カンマ区切り)」で保存して作りました。
行はそれぞれ人の名前が入っており、列にはその人の情報が入っています。
メモ帳で作成したCSVファイルを確認すると、スペースの数が違う場合があります。
具体的には、A列に名前、B列に対応する数字(例えば通し番号)が入っているとした時、
多くの人は名前と通し番号の間にスペースが10個程度入り(名前の長さで違う)...続きを読む

Aベストアンサー

>この例のキムラジロウの時のように、スペースの数が違って表示される理由がなぜなのか

CSV出力は「セルに入力されているデータが、幅調整されずに、そのまま出力」されます。

元データの末尾にスペースが付いてしまっているデータは、そのスペースがそのまま出力されます。

元データの末尾にスペースが無いデータは、スペースが無いまま、そのまま出力されます。

たぶん「エクセルのファイルを作った時に元にしたファイルが、フィールドの幅が固定されたテキストファイル」だったのでしょう。

フィールドの幅が固定されたテキストファイルを読み込んでエクセルのファイルを作ると、「文字列型」になっているセルのデータは「末尾にスペースが付いたまま」セルに取り込まれます。

一方「後から行追加して、セルに手入力したデータ」には、末尾にはスペースは付きません。

そうなると、エクセルのファイルの名前が入力された列のセルには

ヤマダ○タロウ○○○○○○○○○○○○○
スズキ○ハナコ○○○○○○○○○○○○○
タカハシ○イチロウ○○○○○○○○○○○
タナカ○アイ○○○○○○○○○○○○○○
キムラ○ジロウ
サトウ○シヨウコ○○○○○○○○○○○○

と言うように、末尾にスペースがある物と、末尾にスペースが無い物が混在する事になります。

それをそのままCSV出力すれば、質問文に書かれた状態のCSVファイルが出来上がって当然です。

元のエクセルのファイルを開いて、すべてのセルを選択状態(反転状態)にしてから、「書式」→「セル」→「フォント」タブ→「下線」から「下線」を選ぶ→「OK」ボタン、と操作してみて下さい。

添付画像は、データの末尾にスペースが付いている物と、データの末尾にスペースが無い物が混在しているエクセルの画像です。

画像左側では、末尾にスペースが付いているセルがどれなのか、見ただけでは判りません。

画像右側のように「下線付き」にすると、末尾にスペースが付いているセルが一目瞭然です。

下線を付けると「見えないスペースにも下線が付く」ので「aaaa」「bbbb」「dddd」のセルで文字の右に下線が延びてて、末尾にスペースが付いていると判ります。「ccc」は下線が伸びてないので、末尾にスペースが無いのが判ります。

この問題を解決するには、以下の2つの方法があります。

・余計なスペースを削りたい場合

TRIM関数を使って、末尾のスペースを取り除いたデータを生成し、生成したセルをコピーして「形式を指定して貼り付け→値のみ」で貼り付けて、末尾のスペースを取り除いた後、CSV出力する

・すべてスペース付きにして固定長にしたい場合

エクセルのファイルをテキストファイルに出力する際、CSV形式を選ばず、PRN形式を選んで「カンマ無しの固定長のテキストファイル」に出力する

カンマ区切りでスペース無しの不定長のテキストファイルが欲しければ前者を、カンマ無しでスペース付きの固定長のテキストファイルが欲しければ後者の方法を使って下さい。

>この例のキムラジロウの時のように、スペースの数が違って表示される理由がなぜなのか

CSV出力は「セルに入力されているデータが、幅調整されずに、そのまま出力」されます。

元データの末尾にスペースが付いてしまっているデータは、そのスペースがそのまま出力されます。

元データの末尾にスペースが無いデータは、スペースが無いまま、そのまま出力されます。

たぶん「エクセルのファイルを作った時に元にしたファイルが、フィールドの幅が固定されたテキストファイル」だったのでしょう。

フィールドの...続きを読む

QEXCELからCSVにすると余計なカンマがつきます

こんにちは。

EXCELから固定テキストでデータの利用をするために
ファイルをCSVにしました(件数約1万)。

その後テキストエディタで確認すると
最初の数千件は
1,2,3,4,5(改行)
6,7,8,9,0
のように目的とした文字列になってくれているのですが
ある所から急に
1,2,3,4,5,(改行)
6,7,8,9,0,
と、お尻にカンマがついてしまいます。

固定長で利用したいので、このカンマは余計なのですが、
カンマがつくならつくで、すべてのレコードについていれば
構いません。
なお、何回か試しているのですが、そのつどカンマが
現れる場所が違います。
時には最初カンマなし、途中カンマあり、また途中から
カンマなしなどというファイルも作られます。

どちらかに統一できる方法をご存知の方はいらっしゃいます
でしょうか。
お知恵を拝借したく存じます。
よろしくお願い致します。

Aベストアンサー

》 固定テキストでデータの利用をするために
》 ファイルをCSVにしました

CSV にする目的が「固定テキストでデータの利用」というのが理解できません。
私なら PRN にします。此れはスペース区切りの固定長テキストデータになります。

ま、それはソレとして、範囲 A1:E1 に左から 1、2、…、5 と入力して、此れを下方にズズーッと1万行ドラッグ&ペーストしたものを CSV形式 で保存してみました。
しかしながら、仰るような「ある所から急にお尻にカンマ」が付くことはありませんでした。
ちなみに、テストしたのは Excel 2002 SP-3 です。

貴方も Excel のバージョンを明記すべきです。

QVBAでテキスト出力時のスペースについて

VBAで下記のようなテキスト出力を書いたのですが
出力されたテキストファイルの「No」部分の頭と数字のあとに半角スペースが入ってしまします。
半角スペースなしに出力させる方法を教えてください。
ちなみに「No」は書式指定なしの数字です。


Print #1, No; Chr(9); Intime; "/"; OutTime; Chr(9); text

よろしくお願いします。

Aベストアンサー

Format(12,"@@@@") とすると
□□12(□は半角スペースのつもり)となり、桁合わせのために使ってます。
この時に、Format(12,"@")とすると余計なスペースが無くなるのは経験上からです。
ちょうど、Trim関数のように。
イミディエイトウィンドウで試したらTrim関数でもエラーにはならないみたいですね。
色々とまだまだありそうです。
a=1
?a
□1
?trim(a)
1

Intime(時刻型)の場合の末尾のスペースは、AM.PM.の入る場所かな?

参考になるかも
http://officetanaka.net/excel/vba/tips/tips110.htm

Q【VBA】ExcelマクロでCSVファイルに保存したデータが""で囲まれてしまう

添付図のような、Excel2003で作成した表内のデータを
CSVで保存するマクロを作成したのですが、
図のように、CSVファイルに「""」で値が囲まれた状態で、
保存されてしまいます。

下記にマクロを記載しますので、
どうすれば文字列が「""」で囲まれずに、
カンマ区切りだけのデータで出力されるのか、
ご存知の方おられましたら、ご教示お願い致します。

Sub csv保存()
Dim フォルダ名 As String
Dim パス名 As String
Dim ファイル名 As String
Dim データ As Variant
Dim 行数 As Long, 列数 As Integer
Dim i As Integer, j As Long, k As Long

ファイル名 = "test.csv"
フォルダ名 = "csv"
パス名 = ActiveWorkbook.Path & "\" & _
フォルダ名

'csvフォルダが存在しなければ作成する
If Dir(パス名, vbDirectory) = "" Then
MkDir パス名
End If
ChDir パス名

Open ファイル名 For Output As #1

For i = 1 To Worksheets.Count
Worksheets(i).Activate
Worksheets(i).Cells(1, 1).Select
ActiveCell.CurrentRegion.Select
行数 = Selection.Rows.Count
列数 = Selection.Columns.Count

For j = 1 To 行数
For k = 1 To 列数 - 1
データ = Selection.Cells(j, k) _
.Value
Write #1, データ;
Next k
Write #1, Selection.Cells(j, 列数) _
.Value
Next j
Next i
Close #1
End Sub

添付図のような、Excel2003で作成した表内のデータを
CSVで保存するマクロを作成したのですが、
図のように、CSVファイルに「""」で値が囲まれた状態で、
保存されてしまいます。

下記にマクロを記載しますので、
どうすれば文字列が「""」で囲まれずに、
カンマ区切りだけのデータで出力されるのか、
ご存知の方おられましたら、ご教示お願い致します。

Sub csv保存()
Dim フォルダ名 As String
Dim パス名 As String
Dim ファイル名 As String
Dim データ As Variant
Dim ...続きを読む

Aベストアンサー

Write # は文字列を""で囲んで出力する仕様になっています。
そのまま出力したければ、Print #を利用すればよろしいかと。
ただし、Printの場合は区切り文字(カンマ)を自動で出力してくれませんので、併せて出力する必要があります。

For j = 1 To 行数
  For k = 1 To 列数 - 1
    データ = Selection.Cells(j, k) .Value
    Print #1, データ; ",";
  Next k
  Print #1, Selection.Cells(j, 列数).Value
Next j

なお、いらぬおせっかいですが、ドライブが複数ある環境下だと、
 ChDir パス名
だけでは必ずしもcvsフォルダ内に、ファイルが作成されるとは限りません。
 Open パス名 & "\" & ファイル名 For Output As #1
のように、フルパスで指定しておいた方が確実かと…

Qカンマ区切りのCSVファイルから""を削除したい

初めて質問いたします

以下のような形式のCSVファイルがあります
例)
品名,数量,単価,金額
"りんご",1,150,150
"バナナ",10,200,2000
"メロン","1,000","2,000","2,000,000"

上記のように、品名にはダブルクォーテションがつき、
数量、単価、金額については桁区切りのカンマが発生する場合、ダブルクォーテーションで囲まれています

上記のようなデータを
りんご,1,150,150
バナナ,10,200,2000
メロン,1000,2000,2000000
のように別ファイルへ出力するにはどのようにすればよいでしょうか?

プログラムでの処理で、WSHを使ったものを教えていただけますと、幸いです
よろしくお願いいたします

Aベストアンサー

もう仕事は終わってしまったかもしれませんが、(^^ゞ
VBS で作ってみました。
対象CSVファイルのあるフォルダに保存して実行してみてください。
_NewFilesフォルダに保存されます。
※対象外のCSVファイルが有っても処理してしまいます

Dim oSh
Dim oFs
Dim BaseFolder
Dim newFolder
Dim f

Set oSh = CreateObject("Wscript.Shell")
Set oFs = CreateObject("Scripting.FilesystemObject")
Set BaseFolder = oFs.getFolder(oSh.currentDirectory)

newFolder = BaseFolder.Path & "\" & "_NewFiles"

If oFs.folderExists(newFolder) = False Then
oFs.createFolder (newFolder)
End If

For Each f In BaseFolder.Files
If oFs.GetExtensionName(f) = "csv" Then
Call changeIt(f.Path, newFolder)
End If
Next

MsgBox newFolder & " フォルダ内を検証"


Sub changeIt(orgFname, trgFolder)
Dim oFs
Dim orgF
Dim newF
Dim newFname
Dim buF
Dim oReg

Dim Mcol
Dim M
Dim M1, M2
Const forReading = 1
Const forWriting = 2

Set oFs = CreateObject("Scripting.fileSystemObject")
Set oReg = CreateObject("VBScript.RegExp")
Set orgF = oFs.getFile(orgFname).openAsTextStream(forReading)

newFname = trgFolder & "\" & oFs.getBaseName(orgFname) & "_New.csv"
oFs.CreateTextFile (newFname)
Set newF = oFs.getFile(newFname).openAsTextStream(forWriting)

With oReg
.Pattern = """.*?"""
.IgnoreCase = False
.Global = True
End With

Do Until orgF.atendofstream
buF = orgF.readline
Set Mcol = oReg.Execute(buF)

For Each M In Mcol
M1 = Replace(M.Value, ",", "")
buF = Replace(buF, M.Value, M1)
M2 = Replace(M1, Chr(34), "")
buF = Replace(buF, M1, M2)
Next

newF.WriteLine buF
Loop

orgF.Close: newF.Close
Set Mcol = Nothing
Set oReg = Nothing

End Sub

もう仕事は終わってしまったかもしれませんが、(^^ゞ
VBS で作ってみました。
対象CSVファイルのあるフォルダに保存して実行してみてください。
_NewFilesフォルダに保存されます。
※対象外のCSVファイルが有っても処理してしまいます

Dim oSh
Dim oFs
Dim BaseFolder
Dim newFolder
Dim f

Set oSh = CreateObject("Wscript.Shell")
Set oFs = CreateObject("Scripting.FilesystemObject")
Set BaseFolder = oFs.getFolder(oSh.currentDirectory)

newFolder = Bas...続きを読む

Qセルの文字列後ろのスペース削除

Excel2007を使用しています。

意図せずに、セルの文字列の後ろにスペースが入っている事があります。

大量のセルがある為、簡単な操作にてシート単位または列の単位にて、スペースをまとめて削除をしたいと考えています。

この操作の方法を教えてください。

Aベストアンサー

既出のご回答のとおり、全体的に綺麗にするには、TRIM 関数を使います。位置や個数に関らず全てのスペースを削除するには、置換(Ctrl+H)が簡単です。

文字列の右端にあるスペースを 1 つだけ削除したい場合は、次式で可能です。スペースでない文字は、削りません。幾つも右端にスペースが連なっている場合は、次式での処理を何回か繰り返せば、そのうちに全て削除されます。なお「" "," "」という部分は、全角と半角のスペースという意味です。

=left(a1,len(a1)-or(right(a1)={" "," "}))

No.2 さんも言及されていますが、文字列の最後に改行の文字列が付いている場合、右端はスペースではないと判断されてしまうので、注意してください。改行の文字列を削除するには、CLEAN 関数を使うか、または置換ダイアログにおける Ctrl+J のキー操作により除去します。

● =clean(a1)
または
●置換ダイアログの「検索する文字列」にカーソルを置いて Ctrl+J のキーを 1 回だけ押す。このとき見かけ上は何の変化もないが、目に見えない何かが入力されているので、気にしない。「置換後の文字列」には何も入力しないまま、「すべて置換」または「置換」ボタンにより実行すると、改行が除去される。

既出のご回答のとおり、全体的に綺麗にするには、TRIM 関数を使います。位置や個数に関らず全てのスペースを削除するには、置換(Ctrl+H)が簡単です。

文字列の右端にあるスペースを 1 つだけ削除したい場合は、次式で可能です。スペースでない文字は、削りません。幾つも右端にスペースが連なっている場合は、次式での処理を何回か繰り返せば、そのうちに全て削除されます。なお「" "," "」という部分は、全角と半角のスペースという意味です。

=left(a1,len(a1)-or(right(a1)={" "," "}))

No.2 さんも言及...続きを読む

QエクセルのIF関数で、文字が入力されていたならば~

エクセルのIF関数で文字が入力されていたならば~、という論理式を組み立てたいと思っています。

=IF(A1="『どんな文字でも』","",+B1-C1)

A1セルに『どんな文字でも』入っていたならば、空白に。
文字が入っていなければB1セルからC1セルを引く、という状態です。

この『どんな文字でも』の部分に何を入れればいいのか教えてください。

またIF関数以外でも同様のことができれば構いません。

宜しくお願いします。

Aベストアンサー

=IF(ISTEXT(A1),"",B1-C1)

でどうでしょうか?

Qエクセルで、条件に一致した行を別のセルに抜き出す方法

エクセルで、指定した条件に一致するセルを含む行をすべて抜き出す方法が知りたいです。

たとえば、

<A列> <B列> <C列>
7/1 りんご 100円
7/2 ぶどう 200円
7/2 すいか 300円
7/3 みかん 100円

このような表があって、100円を含む行をそのままの形で、
別のセル(同じシート内)に抜き出したいのですが。

7/1 りんご 100円
7/3 みかん 100円

抽出するだけならオートフィルターでもできますが、
抽出結果を自動的に、別の場所に、常に表示させておきたいのです。

初歩的な質問だと思いますが、検索しても分からなかったので、よろしくお願いします。

Aベストアンサー

同じ質問が結構よく出てますが、そんなに初歩的でもありません
別シートのA1セルに「100円」と入力し、そのシートの任意のセルに以下の式を貼り付けて下さい。後は、下方向、右方向にコピー。
日付のセル書式は「日付」形式に再設定してください

=IF(COUNTIF(Sheet1!$C:$C,$A$1)>=ROW(A1),INDEX(Sheet1!A:A,LARGE(INDEX((Sheet1!$C$1:$C$500=$A$1)*ROW(Sheet1!$C$1:$C$500),),COUNTIF(Sheet1!$C:$C,$A$1)-ROW(A1)+1)),"")

データ範囲は500行までとしていますが、必要に応じて変更して下さい


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング