A列  B列   C列
1行目  佐藤 北海道 りんご

2行目  佐藤 北海道 ばなな
 
3行目 伊藤  東京  いちご

4行目  伊藤  東京  ばなな 

上記のようなデーターがあります。これを2行目と4行目を削除し下記のようにしたいのですが

      A列  B列      C列
1行目  佐藤 北海道  りんごばなな

2行目  伊藤  東京   いちごばなな

A列とB列のデーターが同じでC列のデータが異なる場合、上記のように一行にまとめたいのです。関数やVBAで上記の処理を出来る方法がありますでしょうか。 

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

A 回答 (4件)

VBAの一例です。


新たなシートを追加してそこにご希望の状態を表示させます。
ご提示のデータはA1から連続してあるものとします。

Sub test01()
Dim x As Long, i As Long, myStr As String
Dim vAK, vBK, vCI
Dim myDic As Object, ns As Worksheet
With Range("A1").CurrentRegion.Columns 'A1の連続範囲
x = .Rows.Count '行数取得
vAK = .Item(1).Value '1列目データ
vBK = .Item(2).Value '2列目データ
vCI = .Item(3).Value '3列目データ
End With
Set myDic = CreateObject("Scripting.Dictionary")
For i = 1 To x '1行目から最終行まで
myStr = vAK(i, 1) & "^" & vBK(i, 1) '1列目データ+2列目データ
If Not myDic.Exists(myStr) Then 'myDicになければ
myDic.Add Key:=myStr, Item:=vCI(i, 1) '追加
Else 'あれば、3列目データを追加
myDic(myStr) = myDic(myStr) + vCI(i, 1)
End If
Next i
Set ns = Worksheets.Add(After:=ActiveSheet) 'シートを追加
With ns '転記して分離
.Cells(1, 1).Resize(myDic.Count).Value = Application.Transpose(myDic.Keys) '
.Cells(1, 3).Resize(myDic.Count).Value = Application.Transpose(myDic.Items) '
.Columns("A:A").TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, Other:=True, OtherChar _
:="^", FieldInfo:=Array(Array(1, 1), Array(2, 1))
End With
End Sub
    • good
    • 1
この回答へのお礼

多くのデーターの処理にたいしても、時間が殆どかからず出来ました。助かりました。有難うございます。

お礼日時:2009/05/14 17:12

VBAでないと難しいと思いますので一例です。

(E・F・G列に展開します)
(1)対象のシートタブ上で右クリック→コード表示
(2)以下のコードを貼り付け
Sub データ統合()
Dim a, e As Range
For Each a In Range("A:A")
If a.Value = "" Then Exit Sub
For Each e In Range("E:E")
If e.Value = "" Then
Range("E1").Offset(e.Row - 1) = a
Range("F1").Offset(e.Row - 1) = Range("B1").Offset(a.Row - 1)
Range("G1").Offset(e.Row - 1) = Range("C1").Offset(a.Row - 1)
Exit For
Else
If e = a And Range("F1").Offset(e.Row - 1) = Range("B1").Offset(a.Row - 1) Then
x = InStr(1, Range("G1").Offset(e.Row - 1), Range("C1").Offset(a.Row - 1), vbTextCompare)
If x > 0 Then Exit For
Range("G1").Offset(e.Row - 1) = Range("G1").Offset(e.Row - 1) & Range("C1").Offset(a.Row - 1)
Exit For
End If
End If
Next
Next
End Sub
(3)VBEを終了(Alt+F4キー押下)
    • good
    • 0

まず一旦、B列のグループごとに集計し直して そこから作業を始めてはいかがですか?



フィルタで「北海道」を抽出して「シート北海道」にまとめて移すとか。

あとは 「北海道でりんごが2件も3件もあったらどうするのか」等々
場合により処理の仕方が変わると思うのですが。。。

まぁ どちらにせよ一旦「作業用シート」で作業を行って元のシートに戻せば関数もVBAも必要ないですね。
    • good
    • 0

とりあえず、VBAでの一例です。



Sub test()
Dim rmax As Long, rw As Long, r As Long
Dim v1 As String, v2 As String, st As String

rmax = Cells(Rows.Count, 1).End(xlUp).Row
For rw = 1 To rmax - 1
 st = Cells(rw, 3).Text
 v1 = Cells(rw, 1).Value
 If v1 <> "" And v1 <> Chr(27) Then
  v2 = Cells(rw, 2).Value
  For r = rw + 1 To rmax
   If Cells(r, 1).Value = v1 And Cells(r, 2).Value = v2 Then
    st = st & Cells(r, 3).Text
    Cells(r, 1).Value = Chr(27)
   End If
  Next r
  Cells(rw, 3).Value = st
 End If
Next rw
For r = rmax To 1 Step -1
 If Cells(r, 1).Value = Chr(27) Then Cells(r, 1).Resize(1, 3).Delete (xlShiftUp)
Next r
End Sub
    • good
    • 0

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

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

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

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

Qエクセル 複数行にまたがっているデータを一つの行3

エクセル 複数行にまたがっているデータを一つの行にまとめ(応用)

以前にも同じような質問で1商品複数行のデータを1行にまとめるマクロ
をつくって頂いたのですが、(http://oshiete.goo.ne.jp/qa/8191364.html)

これが、たまたま、1商品1行のデータがありまして、まとめるとエラーがでてしまいます。
(エラーがでるブック http://yahoo.jp/box/aiXHto)
→成分の箇所だけまとめたいのが目的。

またかなり無理な作業を承知の上でのマクロなんですが、
下記のサンプルデータで
http://yahoo.jp/box/SUs3B3
前のように複数行を1行にまとめたいのですが、成分の箇所がちょっと複雑で
サンプルデータの黄色のA成分、B成分、C成分があるのですが、
これを一つのセルにsheet2のようにまとめたいのですが、


VBAで上記の処理を出来る方法がありますでしょうか。 

またtom04さんいつもありがとうございます。

Aベストアンサー

こんばんは!
「呼ばれて参上!ハクション大魔王!」って感じです。

当方のIDが入っているので、他の方はなかなか回答しにくいと思います。
当方のやり方がベストとは限りません。
色々な方からのアイデアを参考にされた方がもっと良いやり方が見つかるかもしれませんよ。

さて本題です。
下側のサイトを覗いてみました。
結局Sheet1の I~AD列データをSheet2の I列に纏めたい!というコトですよね?
そういうコトだとしての一例です。

尚、Sheet2には「消費期限」の列がありますが、Sheet1には見当たらないですね。
その辺は判らないので、Sheet1のA~H列 と AE~AM列 はそのままコピー&ペーストしているだけです。
Sheet2の1行目項目は入力済みだとします。

Sub Sample5()
Dim i As Long, j As Long, k As Long, n As Long, lastRow As Long, wS As Worksheet
Dim myStr1 As String, myStr2 As String, myStr3 As String, buf As String
Set wS = Worksheets("Sheet2")
Application.ScreenUpdating = False
With Worksheets("Sheet1")
lastRow = wS.Cells(Rows.Count, "A").End(xlUp).Row
If lastRow > 1 Then
wS.Rows(2 & ":" & lastRow).Clear
End If
For i = 2 To .Cells(Rows.Count, "A").End(xlUp).Row
.Cells(i, "A").Resize(, 8).Copy wS.Cells(i, "A")
.Cells(i, "AE").Resize(, 9).Copy wS.Cells(i, "J")
myStr1 = ""
myStr2 = ""
myStr3 = ""
buf = ""
For j = 9 To 17 Step 2
If .Cells(i, j) <> "" Then
myStr1 = myStr1 & " " & .Cells(i, j) & "," & .Cells(i, j + 1)
End If
Next j
For k = 19 To 23 Step 2
If .Cells(i, k) <> "" Then
myStr2 = myStr2 & " " & .Cells(i, k) & "," & .Cells(i, k + 1)
End If
Next k
For n = 25 To 29 Step 2
If .Cells(i, n) <> "" Then
myStr3 = myStr3 & " " & .Cells(i, n) & "," & .Cells(i, n + 1)
End If
Next n
If Len(myStr1) > 0 Then
buf = Left(.Cells(1, "I"), InStr(.Cells(1, "I"), "成分") - 1) & "成分" & ":" & Trim(myStr1)
End If
If Len(myStr2) > 0 Then
buf = buf & " " & Left(.Cells(1, "S"), InStr(.Cells(1, "S"), "成分") - 1) & "成分" & ":" & Trim(myStr2)
End If
If Len(myStr3) > 0 Then
buf = buf & " " & Left(.Cells(1, "Y"), InStr(.Cells(1, "Y"), "成分") - 1) & "成分" & ":" & Trim(myStr3)
End If
wS.Cells(i, "I") = buf
Next i
End With
With wS
.Range("A1").CurrentRegion.Borders.LineStyle = xlContinuous
.Columns.AutoFit
End With
Application.ScreenUpdating = True
End Sub

こんな感じではどうでしょうか?m(_ _)m

こんばんは!
「呼ばれて参上!ハクション大魔王!」って感じです。

当方のIDが入っているので、他の方はなかなか回答しにくいと思います。
当方のやり方がベストとは限りません。
色々な方からのアイデアを参考にされた方がもっと良いやり方が見つかるかもしれませんよ。

さて本題です。
下側のサイトを覗いてみました。
結局Sheet1の I~AD列データをSheet2の I列に纏めたい!というコトですよね?
そういうコトだとしての一例です。

尚、Sheet2には「消費期限」の列がありますが、Sheet1には見当たらない...続きを読む

Qエクセルで複数の列を1列にまとめる方法

エクセルの1つのシートの複数の列にデータがあって、それを1つの列にまとめる方法を教えてください。
A列のデータの最後の次にB列のデータ、C列のデータと次々にデータをつなげたいのです。
よろしくお願いします。

Aベストアンサー

No.1です。以下でどうでしょう。シート1からシート2へコピーします。
i = 1
For 列 = 1 To 255
For 行 = 1 To Cells(65536, 列).End(xlUp).Row
Sheets("sheet2").Cells(i, 1) = Sheets("sheet1").Cells(行, 列)
i = i + 1
Next
Next

QExcelで2行を1行にまとめるには?

Excelで2行を1行にまとめる方法を教えてください。下の6行を2行にするには、どうしたらいいのでしょうか?
よろしくおねがいします。

Excel2003です。


A little knowledge is a dangerous thing.
(生兵法はけがのもと)
空白行
After a storm comes a calm.
(雨降って地固まる)
空白行


第1行:A little knowledge is a dangerous thing.(生兵法はけがのもと)
第2行:After a storm comes a calm.(雨降って地固まる)

Aベストアンサー

(データ)A1:A100
(1)A little knowledge is a dangerous thing.
(2)(生兵法はけがのもと)
(3)空白行
(4)After a storm comes a calm.
(5)(雨降って地固まる)
(6)空白行
(7)・・・・(略)
(8)・・・・
(9)・・・・
(関数式)E1に(B1でも良いが)
=INDEX($A$1:$A$100,(ROW()-1)*3+1,0)&INDEX($A$1:$A$100,(ROW()-1)*3+2,0)
E2以下最下行の1/3行まで複写する。
(結果)
(1)A little knowledge is a dangerous thing.(生兵法はけがのもと)
(2)After a storm comes a calm.(雨降って地固まる)
(3)以下略

Q「いずれか」と「いづれか」どっちが正しい!?

教えて下さいっ!
”どちらか”と言う意味の「いずれか」のかな表記として
「いずれか」と「いづれか」のどちらが正しいのでしょう???

私は「いずれか」だと思うんですが、辞書に「いずれか・いづ--。」と書いてあり、???になってしまいました。
どちらでもいいってことでしょうか?

Aベストアンサー

「いずれか」が正しいです.
「いづれ」は「いずれ」の歴史的かな遣いですので,昔は「いづれ」が使われていましたが,現代では「いずれ」で統一することになっていますので,「いずれ」が正しいです.

QExcel:複数のセルの内容を、ひとつのセルにすべて移したい。

たとえばA.B.Cのセルがあって、この内容をDのセルに
すべて移すにはどうしたらいいんでしょうか?

A.B.Cの内容をコピー貼り付けだと、
どうしてもDひとつだけでなく、その隣のセルに
内容をコピーしてしまいます。

Aベストアンサー

コピーしたいセルを選択してCtl+C

全部を貼り付けたいセルをダブルクリック

Ctl+Vではなく、オフィスクリップボードから貼り付け

Qある範囲のセルから任意の値を検索して、その隣のセルの値を取得するという関数はありますか?

Excelの関数について質問します。
ある範囲のせるを検索して、その隣のセルの値を取得するという関数を探しています。
なければユーザー定義で作りたいと思っています。
VLOOKUP関数では一番左端が検索されますが、
それをある範囲まで拡張して、
その右隣の値を取得できるようにしたいのです。
どうかお知恵をお貸しください。

Aベストアンサー

●X1セルの値を範囲A1:F200の中から探して、その右隣のセルの値を返す

 =OFFSET(A1,SUMPRODUCT(ROW(A1:F200)*(A1:F200=X1))-1,SUMPRODUCT(COLUMN(A1:F200)*(A1:F200=X1)))

※最初のA1はワークシートの左上隅を示すものなので、検索範囲に関わらずA1固定
※SUMPRODUCT(ROW(A1:F200)*(A1:F200=X1)) ⇒ A1:F200で値がX1と一致するセルの行番号

>その「ある範囲」の中には検索したい値が入っているセルは1つしかありません。
というのが前提です。複数のセルがHITすると関係ないセルの値が返るので、
場合によっては、IFをかぶせてCOUNTIFで確認した方が良いかもしれません。
 ex. =IF(COUNTIF(A1:F200,X1)=1,【上記数式】,"えらー")

ちなみに、VBAでやるならこんな感じになるかと。

動作の概要
 【検査範囲】から【検査値】を探し、
 最初にHITしたセルについて、右隣のセルの値を返す。
 ex. =Sample(X1,A1:F200)

'--------------------------↓ココカラ↓--------------------------
Function Sample(ByVal 検査値 As Variant,ByVal 検査範囲 As Range)
 For Each セル In 検査範囲
  If セル = 検査値 Then Exit For
 Next セル
 Sample = セル.Offset(0, 1)
End Function
'--------------------------↑ココマデ↑--------------------------

いずれもExcel2003で動作確認済。
以上ご参考まで。

●X1セルの値を範囲A1:F200の中から探して、その右隣のセルの値を返す

 =OFFSET(A1,SUMPRODUCT(ROW(A1:F200)*(A1:F200=X1))-1,SUMPRODUCT(COLUMN(A1:F200)*(A1:F200=X1)))

※最初のA1はワークシートの左上隅を示すものなので、検索範囲に関わらずA1固定
※SUMPRODUCT(ROW(A1:F200)*(A1:F200=X1)) ⇒ A1:F200で値がX1と一致するセルの行番号

>その「ある範囲」の中には検索したい値が入っているセルは1つしかありません。
というのが前提です。複数のセルがHITすると関係ないセルの値が返るので、
場...続きを読む

QExcel日程表:開始日~終了日を自動で色付けたい

Excelで月間スケジュールを作りたいと思います。

複数案件の一覧表にし、案件の開始日と終了日の期間のセルに、自動で色が付くようにしたいです。
条件付き書式で出来るでしょうか?
どのような条件付けをすれば実現できますか?
添付画像のような表をイメージしています。

<やりたいこと>
(1)左側に日付を入れると、右側のカレンダー部分に色がつく。(開始日から納品日まで)
(2)受注日と納品日は濃い色を付ける。
(3)月をまたがる日付を入れてもエラーにならない。

<目的>
各案件への取り組み期間が一見してわかるようにしたいです。
複数案件の進行が重複し、稼働の重たくなる時期を確かめるためです。


※2003でも2007でも使える書式設定でお願いします。
※私はマクロの知識が乏しい&Excelスキルの低い同僚にも使ってもらうため、マクロは使いたくありません。
※のちのち数式が崩れたときにも修復が容易なように、シンプルな数式だとありがたいです。
※条件付き書式以外の方法で、上記が解決できるならそれも教えてください。



ご教授ください。よろしくお願いします。

Excelで月間スケジュールを作りたいと思います。

複数案件の一覧表にし、案件の開始日と終了日の期間のセルに、自動で色が付くようにしたいです。
条件付き書式で出来るでしょうか?
どのような条件付けをすれば実現できますか?
添付画像のような表をイメージしています。

<やりたいこと>
(1)左側に日付を入れると、右側のカレンダー部分に色がつく。(開始日から納品日まで)
(2)受注日と納品日は濃い色を付ける。
(3)月をまたがる日付を入れてもエラーにならない。

<目的>
各案件への取り組み期間が一見...続きを読む

Aベストアンサー

こんばんは!
一例です。
カレンダーもシリアル値の方が何かと便利ですので、
余計なお世話かもしれませんが、↓の画像のようにカレンダーを作成します。
(開始日・受注日・納品日はすべてシリアル値で入力します)

A1セルに「西暦年」C1セルに「月」を入力します。
E3セル(セルの表示形式はユーザー定義から d とだけしておきます)に
=IF(MONTH(DATE($A$1,$C$1,COLUMN(A1)))=$C$1,DATE($A$1,$C$1,COLUMN(A1)),"")

E4セルに
=IF(E3="","",TEXT(E3,"aaa"))
という数式を入れ、E3・E4セルを範囲指定 → E4セルのフィルハンドルでAI列までコピーしておきます。
これで「年」・「月」を変更すればちゃんと大の月・小の月の対応ができます。

後は条件付書式で可能です。
Excel2003の場合
色を付けたいセル(E5セル以降)をすべて範囲指定
書式 → 条件付書式 → 「数式が」を選択 → 数式欄に
=OR(AND(E$3<>"",E$3=$B5),AND(E$3<>"",E$3=$D5))
として → 書式 → パターンから「赤」を選択

次に条件付書式 → 「追加」 → 上記と同様に数式欄に
=AND(E$3<>"",E$3>=$B5,E$3<=$D5)
として → ・・・ → パターンから「黄色」を選択
これで↓の画像のような感じになります。

※ Excel2007以降ですと、条件付書式 → 「数式を使用して・・・」という項目になると思います。
数式欄は同じ数式にします。

※ 条件が重複する場合は最初の条件付書式が優先されますので、
「受注日」・「納品日」の条件付書式を条件1にします。
Excel2007以降の場合は条件付書式の項目で上の行に表示されている方が優先されますので、
右側の▲▼で優先順位は自由に変更できます。

参考になりますかね?m(_ _)m

こんばんは!
一例です。
カレンダーもシリアル値の方が何かと便利ですので、
余計なお世話かもしれませんが、↓の画像のようにカレンダーを作成します。
(開始日・受注日・納品日はすべてシリアル値で入力します)

A1セルに「西暦年」C1セルに「月」を入力します。
E3セル(セルの表示形式はユーザー定義から d とだけしておきます)に
=IF(MONTH(DATE($A$1,$C$1,COLUMN(A1)))=$C$1,DATE($A$1,$C$1,COLUMN(A1)),"")

E4セルに
=IF(E3="","",TEXT(E3,"aaa"))
という数式を入れ、E3・E4セルを範囲指定 → E4セ...続きを読む

Qエクセル:複数セルの情報を1つにまとめる方法

どなたか、どうかお力添えください。
図のように、列Aに並んだ別々のコードを、セルC4にあるように「;」でつなげて1つのセルに集約したいと思っています。
これまで、簡単な計算式を用いて、数式バーに
「=A3&";"&A4&";"&A5&";"&A6&";"&・・・・・」と打ち込んで、手作業で1つのセルにまとめていましたが、500件を超えるような集約をしようとすると、限界を感じています。

どなたか、「;」区切りでうまく集約する方法を御存じないでしょうか。
どうぞよろしくお願いいたします。

Aベストアンサー

C3セルに
=A3&";"&C4
と式を記入し,リストの下端までずらずらずらっとコピーしてください。
C3を改めてコピーし,形式を選んで値に貼り替えてしまえば,下の式は用済みなので削除します。
 削除する前に,一番リストの下端の式だけ「最後の;」を付けないように修正するか
または
 C3を値化したら,一番最後の;だけ削除してください。



#C3セルの式を
=A3&IF(C4="","",";")&C4
以下コピー
のように手間をかけても勿論構いませんが,これじゃどっちが楽かよくワカランとは思います。

Q複数条件が一致で別シートに転記【エクセルVBA】

エクセルでセルの条件が複数一致したら別シートに転記される方法をお教えください。
シートを2枚用意して、配達日ごとに一覧化したいのです。
事前に用意したシート(配達表)の“配達”と“配達時間”が一致したら
その方の名前と注文個数を右側に反映したいのですが・・・

注文データが多すぎて困っています。
宜しくお願いします。

■シート名:注文データ
   A    B    C    D    E
------------------------------------------------
1 しめい  対応   配達日   時間   個数
------------------------------------------------
2 たけだ  配達  6/20(月) 13:00  2個
3 みうら  配達  6/18(土) 14:00  4個
4 らもす  郵送  6/20(月)  ―   5個
5 いはら  配達  6/20(月) 14:30  8個
6 かつや  配達  6/20(月) 15:00  6個
7 みうら  郵送  6/20(月)  ―   4個

■シート名:配達表
    A     B    C
------------------------------------
1  配達   6/20(月)
------------------------------------
2  12:00
3  12:30
4  13:00
5  13:30
6  14:30
7  15:00
8  15:30
9  16:00

マクロを実行すると・・・
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓

■シート名:配達表
    A     B    C
------------------------------------
1  配達   6/20(月)
------------------------------------
2  12:00 
3  12:30
4  13:00    たけだ   2個
5  13:30
6  14:00    みうら   4個
6  14:30   いはら   8個
7  15:00   かつや   6個
8  15:30
9  16:00

エクセルでセルの条件が複数一致したら別シートに転記される方法をお教えください。
シートを2枚用意して、配達日ごとに一覧化したいのです。
事前に用意したシート(配達表)の“配達”と“配達時間”が一致したら
その方の名前と注文個数を右側に反映したいのですが・・・

注文データが多すぎて困っています。
宜しくお願いします。

■シート名:注文データ
   A    B    C    D    E
------------------------------------------------
1 しめい  対応   配達日   時間   個数
-...続きを読む

Aベストアンサー

こういうのは「複数条件による抜き出し問題」だ。
関数で出来ればおなじみのやり方で良いのだが、既に出ているように式が長く複雑で、初心者には何をやって居るかわからない式になる。毎度週に数回このタイプの質問が出て、同じようなタイプの答えになる。Googleででも「imogasi方式」で照会すれば、過去の沢山の例と回答(そのタイプも)が出てくる。
ーー
まず初心者や急ぐ場合はデーターフィルターフィルタオプションの設定で済ませられないか勉強すべきだ。
ーー
本来、こういう仕事の関連のエクセル表は、VBAを勉強してそれを使うべきと思う(既に回答も出ているようだ)
関数で抜き出し問題や表の組み換えは、VBAで無いと、天下りの長い式をコピペで使うだけになる。
ーー
私が紹介している「imogasi方式」では、Sheet2に時刻の所定の行に出す問題なので複雑になりすぎる。
ーー
VBAでやってみる。
例データ
しめい対応配達日時間個数
たけだ配達6月20日13:002個
みうら配達6月18日14:004個
らもす郵送6月20日ーー5個
いはら配達6月20日14:308個
かつや配達6月20日15:006個
みうら郵送6月20日ーー4個
(注意)
「ーー」セルは空白とする
「月日」列は、エクセルの年月日を入れておくこと(日付シリアル値(わかりますか)) 文字列では不可
6/20(月) の様な表示は、表示形式の設定でやること(エクセルの常識)  m/d(aaa)
時間の列も時刻シリアル値で入れてあるとする。文字列では不可
ーー
コード
標準モジュールに
Sub test01()
Dim sh1, sh2
Set sh1 = Worksheets("Sheet1")
Set sh2 = Worksheets("Sheet2")
d = sh1.Range("A65536").End(xlUp).Row
On Error Resume Next
For i = 2 To d
'--条件をかけて選別
If sh1.Cells(i, "B") = "配達" And sh1.Cells(i, "C") = sh2.Range("B1") And _
sh1.Cells(i, "D") <> "" Then
t = sh1.Cells(i, "D")
'---Sheet2で時刻行を探す
For r = 2 To 30
If sh1.Cells(i, "D") = sh2.Cells(r, "A") Then Exit For
Next r
'--該当行の値をSheet2の時刻該当行セット
Sheet2.Cells(r, "B") = sh1.Cells(i, "A")
Sheet2.Cells(r, "C") = sh1.Cells(i, "E")
End If
Next i
End Sub
ーー
実行結果
Sheet2
配達6月20日
12:00
12:30
13:00たけだ2個
13:30
14:00
14:30いはら8個
15:00かつや6個
15:30
16:00
・・・・・・

こういうのは「複数条件による抜き出し問題」だ。
関数で出来ればおなじみのやり方で良いのだが、既に出ているように式が長く複雑で、初心者には何をやって居るかわからない式になる。毎度週に数回このタイプの質問が出て、同じようなタイプの答えになる。Googleででも「imogasi方式」で照会すれば、過去の沢山の例と回答(そのタイプも)が出てくる。
ーー
まず初心者や急ぐ場合はデーターフィルターフィルタオプションの設定で済ませられないか勉強すべきだ。
ーー
本来、こういう仕事の関連のエクセル表...続きを読む


人気Q&Aランキング

おすすめ情報