advanced help
per page, with , order by , clip by
Results of 1 - 1 of about 1385 for ������������ #N/A (0.016 sec.)
[[20190402144043]]
#score: 6930
@digest: bffa2e31b694d6e81e2fbb77f70bde39
@id: 79135
@mdate: 2019-04-09T09:20:35Z
@size: 10713
@type: text/plain
#keywords: 今期 (19920), 求先 (8119), xlwhole (8026), 前期 (7226), sheets (4493), 様名 (3912), 昨年 (3799), 列= (2911), 2019 (2888), (a (2787), ナ様 (2728), 複削 (2704), 客様 (2648), sheet2 (2567), マナ (2380), 456 (2351), value (2247), 整形 (2163), 請求 (1766), range (1573), 重複 (1520), find (1459), nothing (1451), 売上 (1428), 水) (1330), 比較 (1274), sheet1 (1172), 123 (1115), 金額 (1026), 削除 (1017), ロ実 (1003), 手作 (966)
『条件があった時に、行の挿入削除』(A)
前期と今期の売上比較を作成中です。 AとCに名前、BとDに前期今期の売上額が入っております。 しかし、前期であった会社が今期ではなくなったり、今期新規にとった会社があったりします。 今までは、=exactでAとCを比較して、FALSEになればAやCに行を足したり消したりしておりました。 この作業を、もっと簡単にすることは可能なのでしょうか。 < 使用 Excel:unknown、使用 OS:unknown > ---- >AやCに行を足したり消したりしておりました。 どんなときに、どこに行を足すのか、どこを消す(削除?)のか 具体例を挙げていただけますか。 (マナ) 2019/04/02(火) 16:12 ---- A B C D ?@あいう 123 あいう 456 ?Aえおか 123 きくけ 456 ?Bきくけ 123 こさし 456 ?Cこさし 123 すせそ 456 A B C D ?@あいう 123 あいう 456 ?Aえおか 123 えおか 0 ?Bきくけ 123 きくけ 456 ?Cこさし 123 こさし 0 ?Dすせそ 0 すせそ 456 こういう感じです。 (A) 2019/04/03(水) 09:26 ---- 文字化けすみません (A) 2019/04/03(水) 09:26 ---- Sub main() 'Sheet1からSheet2に整形 Dim c As Range, i As Long Sheets("Sheet2").Cells.Clear For Each c In Sheets("Sheet1").Range("A1").CurrentRegion.Resize(, 4) If c.Column = 1 Or c.Column = 3 Then If Sheets("Sheet2").Range("A:A").Find(c.Value, , , xlWhole) Is Nothing Then Sheets("Sheet2").Range("A" & i + 1).Value = c.Value If Sheets("Sheet1").Range("A:A").Find(c.Value, , , xlWhole) Is Nothing Then Sheets("Sheet2").Range("B" & i + 1).Value = 0 Else Sheets("Sheet2").Range("B" & i + 1).Value = Sheets("Sheet1").Range("A:A").Find(c.Value, , , xlWhole).Offset(, 1).Value End If Sheets("Sheet2").Range("C" & i + 1).Value = c.Value If Sheets("Sheet1").Range("C:C").Find(c.Value, , , xlWhole) Is Nothing Then Sheets("Sheet2").Range("D" & i + 1).Value = 0 Else Sheets("Sheet2").Range("D" & i + 1).Value = Sheets("Sheet1").Range("C:C").Find(c.Value, , , xlWhole).Offset(, 1).Value End If i = i + 1 End If End If Next c End Sub (mm) 2019/04/03(水) 11:00 ---- 御返信ありがとうございます。 訂正があります。 A=コード?a@ B=お客様名 C=金額 試してみたのですが、空行が追加された場所が0になります。 0ではなく、お客様名を引っ張ることは可能でしょうか。 (A) 2019/04/03(水) 11:10 ---- 文字化けすみません。 A=コードナンバー (A) 2019/04/03(水) 11:11 ---- 追記 マクロ実行後 ・番号が重複している ・順番がばらばらになっている (A) 2019/04/03(水) 11:34 ---- '条件が変わっているのでマクロが動く筈なし。 Sub main() 'Sheet1からSheet2に整形 'A列 = コード、B列 = 会社、C列 = 金額(当初案の123の列)、D列 = 会社、E列 = 金額(当案初の456の列) Dim c As Range, i As Long Sheets("Sheet2").Cells.Clear For Each c In Sheets("Sheet1").Range("B1").CurrentRegion.Offset(, 1).Resize(, 4) If c.Column = 2 Or c.Column = 4 Then If Sheets("Sheet2").Range("B:B").Find(c.Value, , , xlWhole) Is Nothing Then If c.Column = 2 Then Sheets("Sheet2").Range("A" & i + 1).Value = c.EntireRow.Cells(1).Value Sheets("Sheet2").Range("B" & i + 1).Value = c.Value If Sheets("Sheet1").Range("B:B").Find(c.Value, , , xlWhole) Is Nothing Then Sheets("Sheet2").Range("C" & i + 1).Value = 0 Else Sheets("Sheet2").Range("C" & i + 1).Value = Sheets("Sheet1").Range("B:B").Find(c.Value, , , xlWhole).Offset(, 1).Value End If Sheets("Sheet2").Range("D" & i + 1).Value = c.Value If Sheets("Sheet1").Range("D:D").Find(c.Value, , , xlWhole) Is Nothing Then Sheets("Sheet2").Range("E" & i + 1).Value = 0 Else Sheets("Sheet2").Range("E" & i + 1).Value = Sheets("Sheet1").Range("D:D").Find(c.Value, , , xlWhole).Offset(, 1).Value End If i = i + 1 End If End If Next c End Sub (mm) 2019/04/03(水) 15:12 ---- うまくいかないです。 シート1 A B C D E F 10 あ 123 20 い 321 20 い 456 40 え 654 30 う 789 50 お 987 40 え 12 90 け 432 50 お 345 120 し 321 60 か 678 130 す 654 80 く 901 170 ち 876 90 け 234 180 つ 109 ↓マクロ実行↓ A B C D E F A B C B 0 D 0 D E 10 あ 123 あ 0 20 0 20 い 20 い 456 い 0 40 0 40 え 30 う 789 う 0 50 0 50 お 40 え 12 え 0 90 0 90 け 50 お 345 お 0 120 0 120 し 60 か 678 か 0 130 0 130 す 80 く 901 く 0 170 0 170 ち 90 け 234 け 0 180 0 180 つ このようになります (A) 2019/04/03(水) 15:48 ---- '最初からこのイメージを提示していただければ早かったですね。 Sub main() 'Sheet1からSheet2に整形 Dim c As Range, i As Long Sheets("Sheet2").Cells.Clear For Each c In Sheets("Sheet1").Range("B:C,E:F").SpecialCells(2) If c.Column = 2 Or c.Column = 5 Then If Sheets("Sheet2").Range("B:B").Find(c.Value, , , xlWhole) Is Nothing Then Sheets("Sheet2").Range("A" & i + 1).Value = c.Offset(, -1).Value Sheets("Sheet2").Range("B" & i + 1).Value = c.Value If Sheets("Sheet1").Range("B:B").Find(c.Value, , , xlWhole) Is Nothing Then Sheets("Sheet2").Range("C" & i + 1).Value = 0 Else Sheets("Sheet2").Range("C" & i + 1).Value = Sheets("Sheet1").Range("B:B").Find(c.Value, , , xlWhole).Offset(, 1).Value End If Sheets("Sheet2").Range("D" & i + 1).Value = c.Offset(, -1).Value Sheets("Sheet2").Range("E" & i + 1).Value = c.Value If Sheets("Sheet1").Range("E:E").Find(c.Value, , , xlWhole) Is Nothing Then Sheets("Sheet2").Range("F" & i + 1).Value = 0 Else Sheets("Sheet2").Range("F" & i + 1).Value = Sheets("Sheet1").Range("E:E").Find(c.Value, , , xlWhole).Offset(, 1).Value End If i = i + 1 End If End If Next c End Sub (mm) 2019/04/03(水) 17:09 ---- 行は挿入するだけで、削除はしない? Option Explicit Sub test() Dim dic As Object Dim v Dim i As Long Dim s As String Set dic = CreateObject("scripting.dictionary") v = Cells(1).CurrentRegion.Value For i = 1 To UBound(v) s = v(i, 1) If s <> "" Then dic(s) = Array(v(i, 1), v(i, 2), v(i, 3), v(i, 1), v(i, 2), 0) End If Next For i = 1 To UBound(v) s = v(i, 4) If s <> "" Then If Not dic.exists(s) Then dic(s) = Array(v(i, 4), v(i, 5), 0, v(i, 4), v(i, 5), v(i, 6)) Else dic(s) = Array(v(i, 4), v(i, 5), dic(s)(2), v(i, 4), v(i, 5), v(i, 6)) End If End If Next Worksheets.Add.Cells(1).Resize(dic.Count, 6).Value = Application.Index(dic.items, 0, 0) End Sub (マナ) 2019/04/04(木) 00:53 ---- マクロが全く理解できないようなら 手作業だとこんな手順で可能です。 1)シート追加 2)シート1 のA、B列を1)のシートのA、B列にコピー 3)その下に、シート1 のD、E列をコピー 4)1)のシートのA、B列で「重複の削除」実行 5)1)のシートのA、B列をD、E列にコピー 6)1)のシートのC列にvlookup関数挿入し、前期売上計算 7)1)のシートのF列にvlookup関数挿入し、今期売上計算 (マナ) 2019/04/04(木) 01:27 ---- mm様 質問の仕方に不備があり申し訳ありません。 実行してみたのですが、したい内容に一致していたのですが、マクロでできたSheet2に、同じお客様が2つ作成されるのが何点かあります。 一見、重複してそうに見えないのですが、並び替えをすると同じ番号が現れます。 同じ番号は金額0で出ます。 請求先コード 請求先略称 0 請求先コード 請求先略称 純売上金額 10002 あ 0 10002 あ 0 10003 い 0 10003 い 0 10004 う 0 10004 う 0 10005 え 0 10005 え 0 10006 お 0 10006 お 0 10006 お 0 10006 お 26880 10228 か 0 10228 か 0 10229 き 0 10229 き 0 10229 き 0 10229 き 8887446 10232 く 0 10232 く 0 10233 け 0 10233 け 0 10234 こ 0 10234 こ 0 マナ様 マクロの内容は正直理解できません。 人員不足のため、ワンクリックでことが進めば楽なのにな、と思い質問背せていただいております。 マナ様の方も実行してみましたが、『型が一致しません』と出てしまいました。 (A) 2019/04/05(金) 09:25 ---- マナ様 手順の方も見ながら試したのですが、行が挿入された分は数値が0ではなく、#N/Aになってしまいます。 #N/Aを0に変えて計算したのですが、本来の数字と合わないようです。 かなり数字が多く計算されているようです。 (A) 2019/04/05(金) 10:40 ---- mm様 シート1では数字が入っていたものが、シート2では数字が0になっているものも多数ありました。 (A) 2019/04/05(金) 10:47 ---- >かなり数字が多く計算されているようです。 どんな数式にしましたか。 (マナ) 2019/04/05(金) 18:20 ---- IFERROR(VLOOKUP(A1,昨年と今期比較!A:C,3,0),0) これですが、 ?@元データと昨年得意先比較(シート1と2) →このときは式入力後も元データと合計があっています ?A昨年と今期比較(シート3と4) →重複削除しても、さらに重複している? シート3では合計金額があっており、そのままコピーしてシート4に張り付けているのですが、シート4で重複の削除をしても、同じ数字が残っているようです。 例 10111 10111 数字の前にスペースなどが入っているようなので、RIGHRで右から5文字取得でしております。 (A) 2019/04/08(月) 14:32 ---- RIGHR→RIGHTです (A) 2019/04/08(月) 15:29 ---- (A) 2019/04/03(水) 15:48 のデータでは、問題ないのでしょうか。 まずは、その点を、はっきりさせてください。 >数字の前にスペースなどが入っているようなので これについては、その後で。 (マナ) 2019/04/08(月) 18:32 ---- マナ様のマクロではエラーです。 2019/04/05(金) 09:25記載 mm様のものもうまく作動しないので使えておりません。 ですので、手作業しながらマクロ登録しました。 データ重複削除→並び替え EXACTでTRUE削除 を加えたらなんとかいけそうです。 並び替えの時は、並び替えの前にというものが出て、数値に見えるものはすべて数値として並び替えを行う、にしています。 (A) 2019/04/09(火) 10:00 ---- ごめんなさい。頭が追いついていけません。 順番に確認させてください。 マクロではなく、手作業のほうについて確認お願いします。 「重複の削除」やVlookupの計算は期待通りになるか教えてください。 A) 2019/04/03(水) 15:48 のデータでです。 実際のデータでだめなのはわかっています。 手順に誤解がないことを念のため確認したいのです。 (マナ) 2019/04/09(火) 18:20 ...
https://www.excel.studio-kazu.jp/wiki/kazuwiki/201904/20190402144043.txt - [detail] - similar
PREV NEXT
Powered by Hyper Estraier 1.4.13, with 97046 documents and 608224 words.

訪問者:カウンタValid HTML 4.01 Transitional