Excelについて教えてください。
以下の2つのシートがあります。

Sheet1
すずき 03-0000-0000
やまだ 03-1111-1111
たなか 03-2222-2222

Sheet2
03-1111-1111
03-4444-4444
03-0000-0000
03-2222-2222

Sheet1には名称と電話番号、Sheet2には別所から抽出した電話番号のみのデータがあります。
Sheet1のデータの中からSheet2に電話番号があるものだけを知りたいのですが、たとえばSheet1の 各行のC列 に Sheet2に一致する番号があった場合は●等付けるにはどうすればよいでしょうか。

よろしくお願いします

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

A 回答 (3件)

シート1のC列に式を入れます。


=IF(ISNA(VLOOKUP(B1,Sheet2!A:A,1,FALSE))=TRUE,"-","●")

【式の説明】
シート1のセルB1の値が、シート2のA列に、存在する場合は●を、存在しない場合は-をセット。

この回答への補足

完璧です。すばらしい。
助かりました。

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

補足日時:2008/12/16 22:50
    • good
    • 48

一例です。


sheet1のC1に=IF(COUNTIF(sheet2!A:A,B1),"●","")を設定、下方向にコピー

この回答への補足

この方法でも同じ結果となりました。
よい勉強になりました。

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

補足日時:2008/12/16 22:52
    • good
    • 34

snc35744です。


※B1は行に合わせて可変にして下さい。
    • good
    • 10

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

Qマクロでシートタブ色の変更

例えば、A1に数字が入ればシートタブが青色に、A1とA2に数字が入ればシートタブが黄色に、
A1とA2とA3に数字が入ればシートタブが赤色に、このようにするにはどのように記述したら良いでしょうか、よろしくお願いいたします。

Aベストアンサー

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Range("A1:A3"), Target) Is Nothing Then
Worksheets("Sheet1").Tab.ColorIndex = -4142
If Range("A1") <> "" And Range("A2") <> "" And Range("A3") <> "" Then
Worksheets("Sheet1").Tab.ColorIndex = 3
ElseIf Range("A1") <> "" And Range("A2") <> "" Then
Worksheets("Sheet1").Tab.ColorIndex = 6
ElseIf Range("A1") <> "" Then
Worksheets("Sheet1").Tab.ColorIndex = 5
End If
End If
End Sub
これで良いのかな。
ーー
結構、初心者には勉強点があるように思う。
(1)シートイベントというものの勉強
(2)マクロの記録でタブの色を変えるコードを勉強する
また色を抹消するコードを勉強する。
(3)3つの場合の場合分け(条件の多いほうから聞く)
(4)A1:A3以外は素通りさせる方が良いかな(ntersectの利用。これはIFでORを使っても出来る)
数字かどうかのチェックを略している(IsNumericで、使って追加してください)
しかしこの質問のアイデアは珍奇で使えるのかな(今まで質問に出たこと無いような)。
Changeイベントを扱う難しさなどがある。上記コードでは多数例テストして無いので、出来るだけテストして見てください。

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Range("A1:A3"), Target) Is Nothing Then
Worksheets("Sheet1").Tab.ColorIndex = -4142
If Range("A1") <> "" And Range("A2") <> "" And Range("A3") <> "" Then
Worksheets("Sheet1").Tab.ColorIndex = 3
ElseIf Range("A1") <> "" And Range("A2") <> "" Then
Worksheets("Sheet1").Tab.ColorIndex = 6
ElseIf Range("A1") <> "" Then
Worksheets("Sheet1").Tab.ColorIndex = 5
End If
End I...続きを読む

QExcel でシート間の重複データ(Sheet1のA=Sheet2のA かつ Sheet1のB=Sheet2のB)

Excel2000です。

Sheet1のA列・B列・C列・・・にデータが入っています。
Sheet2のA列・B列・C列・・・にデータが入っています。

Sheet1のA列とSheet2のA列は、似たようなデータが入っています。
Sheet1のB列とSheet2のB列も、同様です。
C列以降のデータは、シート間で全然関係ありません。

Sheet1の行データ(A列・B列)が、Sheet2(A列・B列)にも存在しているかどうか、
を知るには、どうすればよいですか。
C列以降の列のデータは、比較する際に使いません。

つまり、
Sheet1のA = Sheet2のA
かつ
Sheet1のB = Sheet2のB
であるような行を知りたいのですが、

どうすればよいのでしょうか。

Aベストアンサー

Sheet1、Sheet2 ともに空いている列に =A1&B1 のような連結データを作り、Matchなどで比較するとか、、、

Sheet1 の E1 =A1&B1
Sheet2 の E1 =A1&B1
Sheet1 の F1 =MATCH(E1,Sheet2!E:E,0)

Qエクセル2003 パスワードでシートを振り分ける方法

エクセル2003をXPで使用しています。
ひとつのブックに全部で11のシートがあります。
ブックを開くときにパスワードを求め、パスワードに応じて
開くシートを振り分けたいと考えています。

たとえば・・・
パスワード「AAA」を入力するとシート1だけが見えて、他は見えない
パスワード「BBB」を入力するとシート2だけが見えて、他は見えない



パスワード「KKK」を入力するとすべてのシートが見える

こんな感じですが、過去ログを見る限りVBAならできそうだと思うのですが、自分なりの改造ができなく、困っています。
うまく説明できないのですが
☆データが入っているシート数は、11。(各シート名はsheet1~sheet11)
☆表紙がわりのシートを別に1つ作る。(シート名はmain)
☆パスはsheet1がAAA、sheet2がBBB、以下つづいてsheet1がKKKとする。
☆ブックを開くとき、マクロを有効にしないと何も表示されない。
☆マクロを有効にしてブックを開くと、mainだけが開き、ユーザーフォームが表示。(ユーザーフォームはパスワート入力とOKボタンのみ。)
☆パスワードを入力してOKボタンを押すと、パスワードに応じたシートだけが表示される。


100%他力本願で申し訳ございませんが、この条件を満たすマクロを組めるかた、よろしくお願いします。

エクセル2003をXPで使用しています。
ひとつのブックに全部で11のシートがあります。
ブックを開くときにパスワードを求め、パスワードに応じて
開くシートを振り分けたいと考えています。

たとえば・・・
パスワード「AAA」を入力するとシート1だけが見えて、他は見えない
パスワード「BBB」を入力するとシート2だけが見えて、他は見えない



パスワード「KKK」を入力するとすべてのシートが見える

こんな感じですが、過去ログを見る限りVBAならできそうだと思うのですが、...続きを読む

Aベストアンサー

>100%他力本願で申し訳ございませんが

VBAではお望みの機能を完全に行う事は出来ませんが、それに近い事は出来ます。
しかし、基本的な部分の改変方法の知識やメンテの知識が必要になるでしょう。

また、VBAコードにパスワードを掛けて置かないとシートの表示が変更出来てしまいますし、パスワードも丸見えになります。
パスワードを忘れた場合は改変も出来なくなるので管理能力も必要です。


取りあえずは、Thisworkbook モジュールに下記のコードを入れておけば”もどき”の動作をします。
InputBoxではパスワードが丸見えなので、パスワード入力にはユーザーフォームでパスワード入力ボックスを作成して利用すると良いでしょう。

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim ws As Variant
For Each ws In ThisWorkbook.Worksheets
If ws.Name <> "main" Then
ws.Visible = xlVeryHidden
End If
Next
ThisWorkbook.Save
End Sub


Private Sub Workbook_Open()
Dim Pass As String

Pass = InputBox("パスワードを入れて下さい。", "Password")

Select Case Pass
Case "AAA"
Worksheets("Sheet1").Visible = True
Worksheets("Sheet2").Visible = True
Case "BBB"
Worksheets("Sheet1").Visible = True
Worksheets("Sheet3").Visible = True
Case Else
MsgBox "閲覧権利がありません"
End Select
End Sub

>100%他力本願で申し訳ございませんが

VBAではお望みの機能を完全に行う事は出来ませんが、それに近い事は出来ます。
しかし、基本的な部分の改変方法の知識やメンテの知識が必要になるでしょう。

また、VBAコードにパスワードを掛けて置かないとシートの表示が変更出来てしまいますし、パスワードも丸見えになります。
パスワードを忘れた場合は改変も出来なくなるので管理能力も必要です。


取りあえずは、Thisworkbook モジュールに下記のコードを入れておけば”もどき”の動作をします。
I...続きを読む

Qエクセルについての質問です以下のようなデータ管理表がシート1〜シート2 2つあります。どれも同じ

エクセルについての質問です

以下のようなデータ管理表がシート1〜シート2 2つあります。どれも同じものです。

三菱倉庫
日付 重量 場所

7月1日 10t 倉庫 1
7月2日 10t 倉庫 3
7月2日 5t 倉庫 3
シート1


東芝倉庫
日付 重量 場所

7月1日 10t 倉庫 1
7月2日 13t 倉庫 3
7月2日 5t 倉庫 3
シート2

本日分のデータのみをシート2に反映させたい
ここで言うと三菱倉庫は2回作業計15t。東芝倉庫も同じ2回作業18t。合わせて32t搬出作業を行っており、このデータをシート2以下のようにするにはどうしたらよいのでしょうか?
どなたかご教示ください。マクロでもokです
シート2
倉庫1 倉庫2 倉庫3
32t

エクセルについての質問です

以下のようなデータ管理表がシート1〜シート2 2つあります。どれも同じものです。

三菱倉庫
日付 重量 場所

7月1日 10t 倉庫 1
7月2日 10t 倉庫 3
7月2日 5t 倉庫 3
シート1


東芝倉庫
日付 重量 場所

7月1日 10t 倉庫 1
7月2日 13t 倉庫 3
7月2日 5t 倉庫 3
シート2

本日分のデータのみをシート2に反映させたい
ここで言うと三菱倉庫は2回作業計15t。東芝倉庫も同じ...続きを読む

Aベストアンサー

>合わせて32t

? 33じゃなくて?

で、結果はシート2に出すんですか?するとシート2には東芝倉庫のデータと今日の日付の結果が両方出るんですか?

とりあえず、SUMIFSを足してみました。シート2枚分ならそんなに手間じゃないかと。
シート2のE1から倉庫1が入っているとして

E2=SUMIFS(Sheet1!$B:$B,Sheet1!$C:$C,E$1,Sheet1!$A:$A,TODAY())+SUMIFS(Sheet2!$B:$B,Sheet2!$C:$C,E$1,Sheet2!$A:$A,TODAY())

右にコピー。

※Excelカテゴリで放置している質問をきちんと対応してください。

QYAMAHASRV250のシートの取り外し方

質問です。

YAMAHASRV250のウィンカーを取り替えているのですが、どうやらシートの下部で配線されているようなのです。
シートを持ち上げてみるのですが中央の部分がしっかりと固定されているようで女のわたしには取り外しができません。

どこかにロックのようなものがついているのでしょうか
どなたかシートの取り外しの方法を教えて下さい。

Aベストアンサー

リアフェンダーの内側を覗き込んで、シートベルトの裏あたりにボルトがあります。
それを取ってください。
左右です。

バイクに男女は関係ありません。
そのようなexcuseはあまり好感が持てません。

QExcel VBA2つのシートのデータを差分チェック

2つのシートのデータを差分チェックするツールを作成したのですが、上手くいかない箇所があり
ご教授いただきたく思います。

◆作成しているツール◆
「①データ」シートと「②データ」シートの「番号」をキー(★)にして同じ行の項目が
一致しているか確認するツールです。
 「①データ」シート        「②データ」シート
★I3から最終行の番号   ⇒   ★1行目「番号」の文字列・2行目から最終行の番号
 D3から最終行の文字   ⇒    1行目「処理」の文字列・2行目から最終行の文字
 O3から最終行の数字   ⇒    1行目「数量」の文字列・2行目から最終行の数字
 U3から最終行の数字   ⇒    1行目「価額」の文字列・2行目から最終行の数字

 ※「②データ」シートは、列が変わることがあるので指定せずに検索を行っています。
 ※「一致」の場合は、メッセージ「一致」
  「不一致」の場合は、メッセージ「不一致」と不一致箇所に色がつくようにしています。

◆問題点◆
「①データ」シートには、差分チェックに入れたくない行のデータもあるのですが、
現状は「①データ」シートに番号があって「②データ」シートに番号がないと認識され「不一致」のメッセージと色がついてしまいます。
差分チェックに入れたくない行は、A~Dすべてのセルが空白の行になるので、A3:D3から最終行
まででA~Dすべてのセルが空白の行の場合は「一致」で色がつかないようにしたいです。
いろいろ試したのですが、思うようにできません。ご教授いただけると有難いです。
宜しくお願いします。

Sub 差分チェック()

Dim 一致 As Boolean
Dim 不一致 As Boolean
Dim srcRow As Long '元行
Dim srcend As Long '元終
Dim dstRow As Long '先行
Dim dstend As Long '先終
Dim Color As Long '色
Dim myS As Range, myV As Range, myN As Range, myK As Range
Dim Sh1 As Worksheet, Sh6 As Worksheet
Set Sh1 = Worksheets("①データ")
Set Sh6 = Worksheets("②データ")
Set myS = Sh6.Rows(1).Find(what:="処理", LookIn:=xlValues, lookat:=xlWhole) '←「処理」列を取得
Set myV = Sh6.Rows(1).Find(what:="数量", LookIn:=xlValues, lookat:=xlWhole) '←「数量」列を取得
Set myK = Sh6.Rows(1).Find(what:="価額", LookIn:=xlValues, lookat:=xlWhole) '←「価額」列を取得
Set myN = Sh6.Rows(1).Find(what:="番号", LookIn:=xlValues, lookat:=xlWhole) '←「番号」列を取得

Color = RGB(255, 0, 0)
srcend = Sh6.Cells(Rows.Count, myN.Column).End(xlUp).Row
dstend = Sh1.Cells(Rows.Count, 5).End(xlUp).Row
For srcRow = 2 To srcend
一致 = False
For dstRow = 3 To dstend

If Sh6.Cells(srcRow, myN.Column).Value = Sh1.Cells(dstRow, 9).Value Then

If Sh6.Cells(srcRow, myS.Column).Value <> Sh1.Cells(dstRow, 4).Value Then
Sh6.Cells(srcRow, myS.Column).Interior.Color = Color
Sh1.Cells(dstRow, 1).Interior.Color = Color
Sh1.Cells(dstRow, 4).Interior.Color = Color
不一致 = True
End If

If Sh6.Cells(srcRow, myV.Column).Value <> Sh1.Cells(dstRow, 15).Value Then
Sh6.Cells(srcRow, myV.Column).Interior.Color = Color
Sh1.Cells(dstRow, 2).Interior.Color = Color
Sh1.Cells(dstRow, 15).Interior.Color = Color
不一致 = True
End If

If Sh6.Cells(srcRow, myK.Column).Value <> Sh1.Cells(dstRow, 21).Value Then
Sh6.Cells(srcRow, myK.Column).Interior.Color = Color
Sh1.Cells(dstRow, 3).Interior.Color = Color
Sh1.Cells(dstRow, 21).Interior.Color = Color
不一致 = True
End If

一致 = True
Exit For
End If
Next

If 一致 = False Then
Sh6.Cells(srcRow, myN.Column).Interior.Color = Color
不一致 = True
End If
Next
For dstRow = 3 To dstend
一致 = False
For srcRow = 2 To srcend
If Sh6.Cells(srcRow, myN.Column).Value = Sh1.Cells(dstRow, 9).Value Then
一致 = True

Exit For
End If
Next
If 一致 = False Then
Sh1.Cells(dstRow, 9).Interior.Color = Color
不一致 = True

End If
Next
If 不一致 Then
MsgBox ("不一致 ")
Else
MsgBox ("一致 ")
End If

Sh1.Activate
Range("A1").Select

End Sub

2つのシートのデータを差分チェックするツールを作成したのですが、上手くいかない箇所があり
ご教授いただきたく思います。

◆作成しているツール◆
「①データ」シートと「②データ」シートの「番号」をキー(★)にして同じ行の項目が
一致しているか確認するツールです。
 「①データ」シート        「②データ」シート
★I3から最終行の番号   ⇒   ★1行目「番号」の文字列・2行目から最終行の番号
 D3から最終行の文字   ⇒    1行目「処理」の文字列・2行目から最終行の文字
 O3...続きを読む

Aベストアンサー

「①データ」シートのA~Dすべてのセルが空白の行の場合は、比較自体を行わないようにしました。
--------------------------------------------
Option Explicit

Sub 差分チェック()

Dim 一致 As Boolean
Dim 不一致 As Boolean
Dim srcRow As Long '元行
Dim srcend As Long '元終
Dim dstRow As Long '先行
Dim dstend As Long '先終
Dim Color As Long '色
Dim myS As Range, myV As Range, myN As Range, myK As Range
Dim Sh1 As Worksheet, Sh6 As Worksheet
Set Sh1 = Worksheets("①データ")
Set Sh6 = Worksheets("②データ")
Set myS = Sh6.Rows(1).Find(what:="処理", LookIn:=xlValues, lookat:=xlWhole) '←「処理」列を取得
Set myV = Sh6.Rows(1).Find(what:="数量", LookIn:=xlValues, lookat:=xlWhole) '←「数量」列を取得
Set myK = Sh6.Rows(1).Find(what:="価額", LookIn:=xlValues, lookat:=xlWhole) '←「価額」列を取得
Set myN = Sh6.Rows(1).Find(what:="番号", LookIn:=xlValues, lookat:=xlWhole) '←「番号」列を取得

Color = RGB(255, 0, 0)
srcend = Sh6.Cells(Rows.Count, myN.Column).End(xlUp).row
dstend = Sh1.Cells(Rows.Count, 5).End(xlUp).row
For srcRow = 2 To srcend
一致 = False
For dstRow = 3 To dstend
If CheckSkip(Sh1, dstRow) = True Then GoTo SKIP1 '追加
If Sh6.Cells(srcRow, myN.Column).Value = Sh1.Cells(dstRow, 9).Value Then

If Sh6.Cells(srcRow, myS.Column).Value <> Sh1.Cells(dstRow, 4).Value Then
Sh6.Cells(srcRow, myS.Column).Interior.Color = Color
Sh1.Cells(dstRow, 1).Interior.Color = Color
Sh1.Cells(dstRow, 4).Interior.Color = Color
不一致 = True
End If

If Sh6.Cells(srcRow, myV.Column).Value <> Sh1.Cells(dstRow, 15).Value Then
Sh6.Cells(srcRow, myV.Column).Interior.Color = Color
Sh1.Cells(dstRow, 2).Interior.Color = Color
Sh1.Cells(dstRow, 15).Interior.Color = Color
不一致 = True
End If

If Sh6.Cells(srcRow, myK.Column).Value <> Sh1.Cells(dstRow, 21).Value Then
Sh6.Cells(srcRow, myK.Column).Interior.Color = Color
Sh1.Cells(dstRow, 3).Interior.Color = Color
Sh1.Cells(dstRow, 21).Interior.Color = Color
不一致 = True
End If

一致 = True
Exit For
End If
SKIP1: '追加
Next

If 一致 = False Then
Sh6.Cells(srcRow, myN.Column).Interior.Color = Color
不一致 = True
End If
Next
For dstRow = 3 To dstend
If CheckSkip(Sh1, dstRow) = True Then GoTo SKIP2 '追加
一致 = False
For srcRow = 2 To srcend
If Sh6.Cells(srcRow, myN.Column).Value = Sh1.Cells(dstRow, 9).Value Then
一致 = True

Exit For
End If
Next
If 一致 = False Then
Sh1.Cells(dstRow, 9).Interior.Color = Color
不一致 = True

End If
SKIP2: '追加
Next
If 不一致 Then
MsgBox ("不一致 ")
Else
MsgBox ("一致 ")
End If

Sh1.Activate
Range("A1").Select

End Sub


'チェックをスキップするか判定する
Private Function CheckSkip(ByVal sh As Worksheet, ByVal row As Long) As Boolean
CheckSkip = False
If sh.Cells(row, 1).Value <> "" Then Exit Function
If sh.Cells(row, 2).Value <> "" Then Exit Function
If sh.Cells(row, 3).Value <> "" Then Exit Function
If sh.Cells(row, 4).Value <> "" Then Exit Function
CheckSkip = True
End Function
---------------------------------------------------
1)Private Function CheckSkip()を追加します。・・・指定された行がスキップ対象の場合、trueを返します。
2)Sub 差分チェック() へ「'追加」のコメントがついている行を追加します。(4行追加します)
以上で完了です。

「①データ」シートのA~Dすべてのセルが空白の行の場合は、比較自体を行わないようにしました。
--------------------------------------------
Option Explicit

Sub 差分チェック()

Dim 一致 As Boolean
Dim 不一致 As Boolean
Dim srcRow As Long '元行
Dim srcend As Long '元終
Dim dstRow As Long '先行
Dim dstend As Long '先終
Dim Color As Long '色
Dim myS As Range, myV As Range, myN As Range, myK As Range
Dim Sh1 As Worksheet, Sh6 As Worksheet
Set Sh1 = Worksheets("①データ")
Set Sh6 = W...続きを読む

QEXCEL ワークシート間のデータ比較

EXCELのワークシート間のデータ比較について教えて下さい。
 A.XLSとBワークシート(新)とCワークシート(旧)の特定の列のデータを比較したいと思っています。

 Bワークシート(新)とCワークシート(旧)の比較に関して
Bワークシート(新)には、Cワークシート(旧)のデータと比較すると
一致するもの、追加されたもの、削除されたものが含まれています。

 Bワークシート(新)の値をCワークシート(旧)の値を全て比較すると頭では分かっているのですが、関数のみの機能で対応できませんか?

Aベストアンサー

Vlookup関数でできると、思います。
後、昇順(降順)に並び替えても、問題ない場合、限定ですが、
Vlookup関数を使います。
で、左側に、項目に対応した数値が出てくるようにします。
その値を、条件付書式で比較。
それを両方のシートで行えば、追加されたもの、削除されたものが
あぶりだされると、思います。

QExcel 2つの重複データに重複先セル番地を表示させたい!

お世話になります。
エクセルで2つの重複しているデータがランダムにがあります。
下記のように表示いたいのですが、良いほうを教えて下さい。
たとえばA1のみかんがA7と重複している時【7】と表示したい
※VBAはわかりません。関数は得意です。  よろしくお願いします。
A  B C
1  7 みかん
2  5 りんご
3    もも
4  6 なし
5  2  りんご
6  4  なし
7  1  みかん
8  9  ぶどう
9  8  ぶどう

Aベストアンサー

これはかなりパズル的に難しい。こういうのはVBA向きの課題ですよ。
例データ B列に、B2から(C列は下記(1)の結果を前出しした)
B列 C列
みかん1
りんご2
もも3
なし4
りんご5
なし6
みかん7
ぶどう8
ぶどう9
(1)C列C2に1といれCTRLを押しながら下へ引っ張り
連番を振る。関数でも、オートフィルでも可能。
上記の通り。
(2)B列でソート
ソートも関数でできるが、煩雑になるので、操作を使う。
結果
BC
なし4
なし6
ぶどう8
ぶどう9
みかん1
みかん7
もも3
りんご2
りんご5
(3)D列D2に
=IF(COUNTIF($B$1:$B4100,B2)=2,COUNTIF($B$1:B2,B2),"")
と入れて下方向に式を複写。
結果
BCD
なし41
なし62
ぶどう81
ぶどう92
みかん11
みかん72
もも3
りんご21
りんご52
(4)A列A2に
=INDEX($C$1:$C$100,IF(D2=1,ROW()+1,IF(D2=2,ROW()-1,"")),1)
と入れて、下方向に式を複写。
結果
ABCD
6なし41
4なし62
9ぶどう81
8ぶどう92
7みかん11
1みかん72
#VALUE!もも3
5りんご21
2りんご52
#VALUE!は出ないようにできるが、式が長くなるので略。
(5)A2:C10をコピーして、別シートなどに、形式を選択して張り付けー値
結果 式は消える
6なし4
4なし6
9ぶどう8
8ぶどう9
7みかん1
1みかん7
#VALUE!もも3
5りんご2
2りんご5
(6)C列でソート
結果
ABCD
7みかん11
5りんご21
#VALUE!もも3
6なし41
2りんご52
4なし62
1みかん72
9ぶどう81
8ぶどう92
あと不要な列は消す。

これはかなりパズル的に難しい。こういうのはVBA向きの課題ですよ。
例データ B列に、B2から(C列は下記(1)の結果を前出しした)
B列 C列
みかん1
りんご2
もも3
なし4
りんご5
なし6
みかん7
ぶどう8
ぶどう9
(1)C列C2に1といれCTRLを押しながら下へ引っ張り
連番を振る。関数でも、オートフィルでも可能。
上記の通り。
(2)B列でソート
ソートも関数でできるが、煩雑になるので、操作を使う。
結果
BC
なし4
なし6
ぶどう8
ぶどう9
みかん1
みかん7
もも...続きを読む

Q 京急の600系電車は、ロングシートとクロスシートの切替可能だったはず

 京急の600系電車は、ロングシートとクロスシートの切替可能だったはずですが、今はロングシート固定で使用されているのですか?まだ、クロスシートに切替して使用している編成も残っているのですか?
 ロングシートとクロスシートの切替方式は何か問題点があったのですか?
 近鉄にも同様なロングシートとクロスシートの切替できる車両がいたと思いますが、現在でもロングシートとクロスシートの切替して使用しているのですか?
 その他の会社にも、ロングシートとクロスシートの切替できる車両はいるのですか?

Aベストアンサー

No.7です。

仙石線の205系は、元々山手線で使用していたものを仙石線向けに改造して投入したものです。その改造を行うときに2wayシートにするものと、そうでないものが決まっていました。仙石線で使用を始めてから2wayシートに改造したわけではありません。そのため、今後増える予定はないと思われます。

Q2つのシートを1つにする方法を教えて下さい。2つに同一人物のデータがるのと片方にしかないデータの統一

二つのシートに、個人のデータが入っています。
二つのシートの両方に入力されている人もいれば、片方にしか入力されてない人もいます。

この二つのシートのデータから、一つの、全員のデータの入ったシートを作りたいのですが、何か良いやり方はないでしょうか?
もちろん、両方に入力されている人は、一つのデータです。

また、項目も片方にしかない項目と、両方にある項目があります。

数が多いため、手入力だと時間がかかってしまいますので・・・
文だと説明しにくいので、図を書いてみます。

シート1
所属 氏名 雇用形態    11月            12月   
            申告 未申告 クレーム  申告 未申告 クレーム 
 鈴木   正      0   0  0      1   2    0
1機 高田   正    0   0  0      0   1   0
1機 内山   リ    0   1  0      0   1   0
2機 山口   正    0   0  0      0   1   0

シート2
所属 氏名 雇用形態    1月            2月   
            申告 未申告 クレーム  申告 未申告 クレーム 
1機 鈴木   正    0   0   0     1   2     0
1機 岡田   正    0   0  0      1   1     1
1機 高田   正    0   0  0     0   1     0
1機 内山   正    0   1  0     0   1     0
2機 芹沢   リ    0   0  0     0   1     0


これを
シート3
所属 氏名 雇用形態 申告 未申告 クレーム 合計
1機 鈴木   正   1    4    0     5
1機 岡田   正   1    1    1     3    
1機 高田   正    0   2    0     2     
1機 内山   正    0   4    0     4 
2機 芹沢   リ    0   1    0     1
2機 山口   正   0    1    0     1

としたいので、『データの統合』機能は試してみたのですが、数字じゃないと、うまくいかないようだったので・・

すみませんが、宜しくお願いします。
また、長い文、読んでくれてありがとうございます。

二つのシートに、個人のデータが入っています。
二つのシートの両方に入力されている人もいれば、片方にしか入力されてない人もいます。

この二つのシートのデータから、一つの、全員のデータの入ったシートを作りたいのですが、何か良いやり方はないでしょうか?
もちろん、両方に入力されている人は、一つのデータです。

また、項目も片方にしかない項目と、両方にある項目があります。

数が多いため、手入力だと時間がかかってしまいますので・・・
文だと説明しにくいので、図を書いてみます。
...続きを読む

Aベストアンサー

マクロないと難しいと思います。
急ぎと書いてあるので、一応マクロの一案です。

結果ですが
所属 氏名 雇用形態 申告 未申告 クレーム 合計
1機 鈴木   正   1    4    0     5
ではなく
1機 鈴木   正   2    4    0     6
だと思います。

Sub Sample()
Dim sh1 As Worksheet
Dim sh2 As Worksheet
Dim sh3 As Worksheet
Dim max1 As Long, max2 As Long
Dim i As Long, j As Long
Dim kei(3) As Variant
Dim k As Integer
Dim wkey As String
Application.ScreenUpdating = False
Set sh1 = Worksheets("Sheet1")
Set sh2 = Worksheets("Sheet2")
Set sh3 = Worksheets("Sheet3")
max1 = sh1.Cells(Rows.Count, 1).End(xlUp).Row
max2 = sh2.Cells(Rows.Count, 1).End(xlUp).Row
j = 1
With sh3
'作業列を作成
sh1.Range("A3:I" & max1).Copy Destination:=.Range("H1")
sh2.Range("A3:I" & max2).Copy Destination:=.Range("H" & max1 - 1)
.Range("H1:P" & max1 + max2 - 4).Sort Key1:=Range("H1"), Order1:=xlAscending, _
Key2:=Range("J1"), order2:=xlAscending, Key3:=Range("I1"), order3:=xlAscending
'
wkey = .Range("H1").Value & "," & .Range("I1").Value
kei(0) = .Range("J1").Value
For i = 1 To max1 + max2 - 4
If .Range("H" & i).Value & "," & .Range("I" & i).Value <> wkey Then
j = j + 1
.Range("A" & j).Value = Left(wkey, InStr(wkey, ",") - 1)
.Range("B" & j).Value = Mid(wkey, InStr(wkey, ",") + 1, Len(wkey) - InStr(wkey, ","))
For k = 0 To 3
.Cells(j, k + 3).Value = kei(k)
Next k
.Range("G" & j).Value = kei(1) + kei(2) + kei(3)
wkey = .Range("H" & i).Value & "," & .Range("I" & i).Value
kei(0) = .Range("J" & i).Value
For k = 1 To 3
kei(k) = 0
Next k
End If
For k = 1 To 3
kei(k) = kei(k) + .Cells(i, k + 10).Value + .Cells(i, k + 13).Value
Next k
Next i
'最後のデータ
j = j + 1
.Range("A" & j).Value = Left(wkey, InStr(wkey, ",") - 1)
.Range("B" & j).Value = Mid(wkey, InStr(wkey, ",") + 1, Len(wkey) - InStr(wkey, ","))
For k = 0 To 3
.Cells(j, k + 3).Value = kei(k)
Next k
.Range("G" & j).Value = kei(1) + kei(2) + kei(3)
'作業列クリア
.Range("H1:P" & max1 + max2 - 4).ClearContents
End With
Application.ScreenUpdating = True
sh3.Select
End Sub

マクロないと難しいと思います。
急ぎと書いてあるので、一応マクロの一案です。

結果ですが
所属 氏名 雇用形態 申告 未申告 クレーム 合計
1機 鈴木   正   1    4    0     5
ではなく
1機 鈴木   正   2    4    0     6
だと思います。

Sub Sample()
Dim sh1 As Worksheet
Dim sh2 As Worksheet
Dim sh3 As Worksheet
Dim max1 As Long, max2 As Long
Dim i As Long, j As Long
Dim kei(3) As Variant
Dim k As Integer
Dim wkey As String
Application.ScreenU...続きを読む

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

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

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


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

人気Q&Aランキング