Excel総合相談所 92at BSOFT
Excel総合相談所 92 - 暇つぶし2ch360:349
10/06/12 18:00:05
>>350
なるほど、「+」入力とか最初何を言ってるのかと思いましたが、要は+を押しておけば数式入力モードになり
またその後の数式がどうなろうと、最初に「+」が入っても邪魔にならないから、「+」を押すいうことですね。
そういう発想ができるところがすごいと思います。ぜひ使わせていただこうと思います。

それはそれなのですが、しかし、やはり「=」ボタンは欲しいですね。
なぜ「=」ボタンを廃止したのか理由が全く見えません・・・・。

361:349
10/06/12 18:05:26

URLリンク(www.kenzo30.com)

なんかこういうのもあるのですね。
これで「=」ボタンは設置できますが、しかし、なぜ、マイクロソフトは、=をデフォルトで廃したのだろうか・・・・。


362:名無しさん@そうだ選挙にいこう
10/06/12 20:19:14
>>359
遅い、重いはよく考えていることです。
勉強になりますので>>339を軽くなるよう清書していただけませんか?

363:名無しさん@そうだ選挙にいこう
10/06/12 22:01:41
357のリンク先にならって数式バーに「=」を追加したんだけど、
削除するにはどうすればいいですか?

364:名無しさん@そうだ選挙にいこう
10/06/13 11:39:33
>>362
半角英数字の小文字10文字のみなら小さな突っ込みなしならこんなかな?
軽くするには配列を使えばいいが、今回は基本の例として配列は使わない。
全角英数字とかアルファベットの大文字も含めるなら適宜StrConvとか
LCaseなどを使えばいいだろう。
変数はわざと1文字を多用した。
2回に分けて書き込む。

365:名無しさん@そうだ選挙にいこう
10/06/13 11:40:39
>>364の続き
Sub hoge()
Const L As Long = 10
Dim r As Range
Dim o As Range
Dim v As String
Dim b As Boolean
Dim i As Long
Dim ch As String
Set o = Range("H2")
For Each r In Selection
v = r.Value
If Len(v) = L Then
b = True
For i = 1 To L
ch = Mid$(v, i, 1)
If Not ch Like "[0-9 a-z]" Then
b = False
Exit For
End If
Next i
If b Then
o.Value = v
Set o = o.Offset(1)
End If
End If
Next r
End Sub

366:名無しさん@そうだ選挙にいこう
10/06/13 11:42:29
すまん、インデントがつかなかったよ。

367:名無しさん@そうだ選挙にいこう
10/06/13 13:05:38
あと別に軽くはならないけど正規表現もよくある手だね。
Like演算子にしても
>If Not ch Like "[0-9 a-z]" Then
下の方が普通かも。
If ch Like "[!0-9 !a-z]" Then

368:名無しさん@そうだ選挙にいこう
10/06/13 16:05:41
セルに値を入力したときに自動的に編集状態(F2状態)にすることってできますか?

369:名無しさん@そうだ選挙にいこう
10/06/13 17:52:15
F2押してから入力しれ

370:368
10/06/13 18:08:08
>369
毎回F2を押すのがめんどいです.
ボタンの位置的にも押しにくいです.

371:名無しさん@そうだ選挙にいこう
10/06/13 18:29:39
>>370
しつこい。
出来ないもの出来ないんだから、Microsoft に注文しろ。

372:名無しさん@そうだ選挙にいこう
10/06/13 19:31:45
F2をテンキーのどれかに割り当てるのはフリーウェアとかで可能

373:名無しさん@そうだ選挙にいこう
10/06/13 19:56:23
>>368
これだとすべてのセルになるけどw、ついでにやってみると超うざいけど

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
SendKeys "{F2}", True
End Sub


374:名無しさん@そうだ選挙にいこう
10/06/13 20:25:01
>>368
上にある数式バーで編集すりゃええやん。

375:名無しさん@そうだ選挙にいこう
10/06/13 21:02:28
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 URL 一括

いつもお世話になっておりますm(_ _)m
文字列となっている複数個のURL(URLは一列に並んでいます)を、クリッカブルURLにするには、
どうすればよいのでしょう?

VBAを使わないといけない場合でも、がんばって覚えるので、教えて頂けたら幸いです。m(_ _)m

376:名無しさん@そうだ選挙にいこう
10/06/13 21:32:38
>373
セルの位置を変更した時にF2を押すのではなく,
文字が入力されセルの内部がアクティブになった
瞬間にF2が押されるようなのがいいです.

377:名無しさん@そうだ選挙にいこう
10/06/13 21:43:30
>>375
A列にURLが入っているなら、B列に
=HYPERLINK(A1)
としてオートフィル。

ただし、これではA列のデータを消してしまうと元も子もないので、
B列のデータをコピーし、一度Wordに貼り付け。再度Wordの表を
コピーし、今度はExcelに貼り付ければ良い。


378:377
10/06/13 21:49:12
ポイントは、Excelを起動したまま、Wordを起ち上げること。

Excelデータをコピー

一旦Excelを終了

Wordを起ち上げて貼り付け

上記では上手くいかない。
ハイパーリンクの設定が消えてしまう。

379:名無しさん@そうだ選挙にいこう
10/06/14 01:25:10
超初心者スレから誘導されてきました

グラフに関する質問なんですが
y=axという関数の、aを変化させた場合の比較グラフが作りたいのですが
どうすればいいのでしょうか、教えてください
またxの範囲もaの値の違いによって変えたいのですが可能でしょうか?

380:名無しさん@そうだ選挙にいこう
10/06/14 08:02:00
>>可能でしょうか?

可能。
但し超初心者スレに帰れ。

381:名無しさん@そうだ選挙にいこう
10/06/14 09:04:30
>379
散布図グラフで可能ですよ。参考にしてください。(当方の環境WinXP,Excel2003)
URLリンク(www.dotup.org)

382:381
10/06/14 09:11:25
>381に追加
あ、ダウンロードのパスは excel です。忘れてた。

383:名無しさん@そうだ選挙にいこう
10/06/14 10:11:01
Excel2007のピボットテーブルで日付別の集計をやってるのですがデータにない日付の売上も0として表示したいのですが可能でしょうか?
2003ではグループ化をうまく使ってできるようですが、2007でいくらやってもできません。

日付 売上
1/2  100 
1/2  200
1/4  150
.
.
1/31  200
上を下のようにしたい。

日付 売上
1/1   0 
1/2  300
1/3   0
1/4  150
.
.
1/31  200

384:名無しさん@そうだ選挙にいこう
10/06/14 11:11:23
>>383
1.「日付」フィールドを選択しリボンを見る
2.「ピボットテーブルツール」→「オプション」→「アクティブなフィールド」
3.「フィールドの設定」→「レイアウトと印刷」内の「データのないアイテムを表示する」
4.次は日付のグループ化。「グループ」→「グループフィールド」
5.「単位」を「日」でグループ化
6.要らないデータまで表示されたら、「日付」フィールドのオートフィルタで取り除けばよい





385:名無しさん@そうだ選挙にいこう
10/06/14 12:58:14
>>384
できますた。
3がミソだったんですね。
レイアウトと印刷の中まで見たとこなかったなぁ。
隅々まで探さなきゃだめですね。

386:名無しさん@そうだ選挙にいこう
10/06/14 21:05:30
関数を用いた文字列判定と検索の方法を教えて下さい。

リスト1
A列       B列
テキスト    分類(ここに関数)
赤いクルマ   のりもの
赤いトマト   やさい
美味しいトマト やさい
大きいリンゴ  くだもの
おいしいメロン くだもの
日本頑張れ!  くに

リスト2
A列     B列
特定文字列 判定結果
クルマ   のりもの
トマト   やさい
リンゴ   くだもの
日本    くに


テキスト1の中にリスト2に一致する文字列を含む場合、
分類欄に判定結果を返すような関数を教えて下さい。
なお、リスト2は数十行あるため、if式で入れ子にする
やり方は不可です。判定結果が数値ではないので、
SUMIFは使えません。

どなたか是非助けて下さい!

387:名無しさん@そうだ選挙にいこう
10/06/14 21:22:06
無理

388:名無しさん@そうだ選挙にいこう
10/06/14 21:42:33
数百あると無理だけど、数十ならIFでいける
試しもしないで不可とか言わないように

389:名無しさん@そうだ選挙にいこう
10/06/14 22:30:49
>386 無い知恵絞って考えてみました。作業列を用います。
URLリンク(www.dotup.org)
パス:excel

B3セルの式が {=CONCATENATE(C3:J3)} でいけるかなと思ったらダメだった。
範囲の最初のセルしか反映されない。なぜだろう。

390:名無しさん@そうだ選挙にいこう
10/06/14 22:54:33
>>386
リスト2がシート1だとして

=INDEX(Sheet1!B:B,MIN(IF(ISERROR(MATCH("*"&Sheet1!$A$2:$A$5&"*",A2,0)),10^10,MATCH("*"&Sheet1!$A$2:$A$5&"*",A2,0)*ROW($A$2:$A$5))))

CTRL+SHIFT+ENTER同時押しで配列数式。
ただし、エラー対策(なかったとき)はしていない

391:名無しさん@そうだ選挙にいこう
10/06/15 02:52:11
windows7のパソコンのExcel2007が非常に使いにくい。
office2003のCDで使い慣れたExcel2003をインストールしたら動きますか?

ちなみにどうやってインストールしたら良いのでしょう?
2003と2007の共存が理想ですが、やっぱり2007はアンインストールしなければならない?

392:名無しさん@そうだ選挙にいこう
10/06/15 03:11:03
>>391
インストールできてちゃんと動作します。
共存もできますが、ちょっとコツが必要です。
インストールする時、初期状態だと2003と2007でフォルダ名が一緒になるので、手動で変更しないと
プログラムが上書きで消されてしまいます。
あと、Excelのファイルをダブルクリックするとうまく開けないことがあるので、
必ずExcelを先に起動してから「開く」メニューからExcelのデータを指定する必要があります。

393:複乳
10/06/15 09:15:29
>>391
2003 2007 共存
でぐぐれば色々でてくる。あんまりやらないほうがいい

メニューだけ戻したいなら
URLリンク(members.at.infoseek.co.jp)
とか。

394:名無しさん@そうだ選挙にいこう
10/06/15 15:04:19
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 エクセル 関数 一致 抽出

Sheet1にデータがあります。
    番号      日付   名前    識別CD
  12桁数字     0615   佐藤    001(3桁数字で000~100まで)
           ↑1ヶ月分あり↑100種類くらいあり    
   ↑一致するものは無くすべてユニーク
以下、↓500行くらい並んでいます。

Sheet2~Sheet30くらいまでに、1シート当たり識別CDが4~5個位、
適当に振り分けられていて、該当する識別CDのあるシートに、
Sheet1にあるデータ(番号、日付、名前)を全部表示させたいです。

ググって見つけた配列関数(countifとrowとかいろいろ組み合わせたもの)で
識別CD1個分ずつ、データを別シートに表示させることは出来たのですが、
それを順番にリストで並べることが出来ません。

(識別CD1つにつき、いくつのデータをひっぱってくるのかがわからないため
全てのセルに、5個分の配列関数を入れると重くなりすぎてしまうので)

やりたいことは、識別CD5個分をオートフィルタオプションで表示させたものを、
別シートにそのまま表示したいのですが、いい方法を教えてください。

395:名無しさん@そうだ選挙にいこう
10/06/15 18:52:16
シート2~30をひとつのシートにまとめる

396:名無しさん@そうだ選挙にいこう
10/06/15 21:26:31
386です。
皆様、ありがとうございます。
=INDEX(Sheet1!B:B,MIN(IF(ISERROR(MATCH("*"&Sheet1!$A$2:$A$5&"*",A2,0)),10^10,MATCH("*"&Sheet1!$A$2:$A$5&"*",A2,0)*ROW($A$2:$A$5))))
のMIN関数と10^10の意味が分かりません。10の10乗?どういう意味でしょう?

ifの入れ子は試したのですが、式が長くなりすぎるのでどうしてもリストが使いたいのです。
どうか、分かる方教えてください!お願いします。

397:386ではありません
10/06/15 22:36:17
>396
「10^10」の意味:無限大に近い数を設定する。今回の例ならば10^3でも10^4でも可
「MIN関数」を使う理由:↓
 文字列の中に特定文字列が存在しない(ISERRORが真になる)とき10^10を設定し、
 文字列の中に特定文字列が存在したとき、当該行位置を設定する。そして、
 MIN関数で最も少ない数(特定文字列に一致したときの行位置)を返す。

式を入力するとき、[Enter]ではなく、[Ctrl]+[Shift]+[Enter]で入力すると配列式となるので、
「赤いトマト」の場合は 10^10,3,10^10,10^10,10^10 の5個の数字から最も小さい数=3が
MIN関数の答えとなり、INDEX(Sheet1!B:B,3)はB3セルの値="やさい" となる。

>390さんが
>ただし、エラー対策(なかったとき)はしていない  とは、
特定文字列に一致するものがなかった場合は、5個とも10^10になるのでエクセルの最大行をはるかに
超えるからエラー(#REF!)になる、ということ。エラー表示にしたくなければ10^10のかわりに
65536にでもしておくと空白表示になるのでいいかも。(最下行まで使ってない場合)


398:397
10/06/15 22:37:55
>397 の名前のところは 390ではありません の間違いでした。orz

399:名無しさん@そうだ選挙にいこう
10/06/15 22:51:39
>>396
Microsoft Queryで出来る。


400:名無しさん@そうだ選挙にいこう
10/06/15 23:37:58
エクセルの改ページプレビューで見るとはみ出ていないのに
印刷すると文字の右側がはみ出てしまいます。

印刷したものと改ページプレビューの見た目を同じにするにはどうしたらいいですか

401:名無しさん@そうだ選挙にいこう
10/06/16 00:00:37
>400
「改ページプレビュー」っていっても「編集画面」なので印刷結果と異なるのはExcelの仕様です。
「印刷プレビュー(編集はできない)」で確認してください。

印刷プレビューと実際の印刷結果が異なる場合は、>336,338を参考にしてください。

402:名無しさん@そうだ選挙にいこう
10/06/16 09:39:43
>>400
新参乙です(悪いとは言ってない)
さんざんガイシュツ。
ま、ここの人は優しいから俺以外のシッタカが教えてくれます。

403:名無しさん@そうだ選挙にいこう
10/06/16 11:31:39
>>402
エクセルの一番有名なダメ仕様、未だに治ってない。

404: ◆RKItBcY.UI
10/06/16 15:44:19
質問です、というかお手伝いお願いします

▼━質問テンプレ (出来れば使ってね♪) ━━━━━━
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 さわったばかりでまだまだ
【4 VBAでの回答の可否】 可

たくさんのセルの、内部にある文章の一部分だけ文字の色を変えたいんです
そこでネットの海をさまよって、とあるマクロを見つけ
さらにそれをちょいちょい改ざんして以下のようになりました
URLリンク(ccfa.info)

これでもかなり思い通りにいってくれたのですがひとつ問題があって
目的の文字列がひとつのセルの中にふたつ以上あった場合に
文字列の長さが異なっているとふたつめ以降の文字列の長さには対応してくれないのです

例:その魔物を倒すには「聖水」と「十字架」と「月桂樹の葉」が必要じゃ。
ここでカギカッコの始まりから終わりまでの文字(3箇所)の色を変えたいんだけど
上記のマクロだとどうも「聖水」を見つけてカギカッコ開始から4文字だと判断しちゃって
十字架のほうのトジカギカッコとか、の葉」とかまで変わってくれないっていうね
(次のセルだとまた文字数をカウントしなおしてくれる)
セルを分割とかはしたくないし、カギカッコじゃないやつも色変えたいのあるし
目的によって色も変えたいしで、ここからどーしたらいいんだろ・・・

だれか とっ て も カン ペキ だ というマクロに改良してー!

405:複乳
10/06/16 16:23:53
>>404
こんなんでいいかな
色を変えたいセルを選択してマクロ実行
hajimemoji = "「"
owarimoji = "」"
を変えるとはじめと終わりの文字を設定できる
後は自分で頑張れ

406:複乳
10/06/16 16:26:47
Sub Macro1()
Dim hajime, i, nagasa
Dim hajimemoji, owarimoji
hajimemoji = "「"
owarimoji = "」"
arColorIndex = Array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, _
10, 11, 12, 13, 14, 15, 16, _
33, 34, 35, 36, 37, 38, 39, _
40, 41, 42, 43, 44, 45, 46, 47, 48, 49, _
50, 51, 52, 53, 54, 55, 56)
nagasa = Len(Selection.Value)
For i = 1 To nagasa
If Mid(Selection.Value, i, 1) = hajimemoji Then
hajime = i
End If
If Mid(Selection.Value, i, 1) = owarimoji Then
arColorIndex = InputBox(Mid(Selection.Value, hajime + 1, i - hajime - 1) & " に設定する色を次の中から数字で指定してください" & vbCr & vbCr & _
"0:自動 , 1:黒 , 2:白 , 3:赤 , 4:明るい緑 , 5:青 , 6:黄 ," & vbCr & _
"7:ピンク , 8:水色 , 9:濃い赤 , 10:緑 , 11:濃い青 , 12:濃い黄 ," & vbCr & _
"13:紫 , 14:青緑 , 15:25%灰色 , 16:50%灰色 , 33:スカイブルー ," & vbCr & _
"34:薄い水色 , 35:薄い緑 , 36:薄い黄 , 37:ペールブルー ," & vbCr & _
"38:ローズ , 39:ラベンダー , 40:ベージュ , 41:薄い青 ," & vbCr & _
"42:アクア , 43:ライム , 44:ゴールド , 45:薄いオレンジ ," & vbCr & _
"46:オレンジ , 47:ブルーグレー , 48:40%灰色 , 49:濃い青緑 ," & vbCr & _
"50:シーグリーン , 51:濃い緑 , 52:オリーブ , 53:茶 ," & vbCr & _
"54:プラム , 55:インディゴ , 56:80%灰色", "文字色の指定", 0)
ActiveCell.Characters(Start:=hajime + 1, Length:=i - hajime - 1).Font.ColorIndex = arColorIndex
End If
Next
End Sub

407:名無しさん@そうだ選挙にいこう
10/06/16 18:46:03
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 無理
【4 VBAでの回答の可否】 無理無理

カレンダーに毎日のデーターを記入したいんですが、
いちいち日付を1年分も打ち込まなくても、でぇーーーーってでる方法はありますか?
初めてなんですが、よろしくお願いします。

408:名無しさん@そうだ選挙にいこう
10/06/16 19:00:08
オートフィル

409:名無しさん@そうだ選挙にいこう
10/06/16 19:01:26
>407
「オートフィル」って使ったことありませんか?

エクセル辞典 オートフィル-連続データの生成
URLリンク(www.excel-jiten.net)

普通に最初の日付を入力してからオートフィル操作すると、↑のようにしなくても
連続した日付が生成できます。

410:407
10/06/16 19:04:52
>>408
>>409

ありがとうございます。
こんなめんどくさい作業が手作業のはずはない!!と思ったのですが、
なんという名前の作業かわかりませんでした。
早速作業できます。本当にありがとうございました。

411:名無しさん@そうだ選挙にいこう
10/06/16 19:24:00
エクセルでファイルにパスワードをかけたのですが忘れてしまい開けません
エクセルアナライザーをインストールしたのですがうまく使えません、どうすればいいでしょうか?

412:名無しさん@そうだ選挙にいこう
10/06/16 19:31:52
質問です!

エクセルのワークシート上にコンボボックスを設置し、
プロパティの「ListFillRange」にセル範囲を設定後、
保存して終了。
再度、ファイルを開き、即「×」ボタンで終了しようとしたところ、
修正していないのに上書き保存の確認ダイアログが出てきました。

ListFillRangeに何か設定するとファイルを開いたときにリストが再設定され
それがファイルの変更フラグに影響を与えているということなのでしょうか?


413:名無しさん@そうだ選挙にいこう
10/06/16 19:59:33
Office 2010 発売4h前 age

x64入れてみるか。x64なら膨大な計算や描画を要する
シミュレーションに使えそう。

414:名無しさん@そうだ選挙にいこう
10/06/16 20:22:36
>411
途方に暮れて下さい。

415:名無しさん@そうだ選挙にいこう
10/06/16 21:28:44
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 重複

A1~M100ぐらいまでのセルに色々な単語が入ってて
2個以上ある単語を全てチェックしたいんですけれど
抽出するうまい方法無いですか?

416:名無しさん@そうだ選挙にいこう
10/06/16 21:33:54
COUNTIFで2以上をフィルタ

417:名無しさん@そうだ選挙にいこう
10/06/16 22:05:03
If Left(Cells(i, 1).Value, 1) = "福" Then
 Cells(i, 7).Value = "合格"
ElseIf Left(Cells(i, 1).Value, 1) = "宮" Then
 Cells(i, 7).Value = "合格"
ElseIf Left(Cells(i, 1).Value, 1) = "山" Then
 Cells(i, 7).Value = "合格"
ElseIf Left(Cells(i, 1).Value, 1) = "長" Then
 Cells(i, 7).Value = "合格"
ElseIf Left(Cells(i, 1).Value, 1) = "愛" Then
 Cells(i, 7).Value = "合格"
ElseIf Left(Cells(i, 1).Value, 1) = "大" Then
 Cells(i, 7).Value = "合格"
End If

Cells(i, 1)の頭文字が振り分けたいですけど
おねがします

418:名無しさん@そうだ選挙にいこう
10/06/16 22:08:36
>>415
とりあえずピボットテーブルで各データが何個あるか数えろ。
2個以上あるものを抽出すれば良い。

419:複乳
10/06/16 22:13:19
>>411
色々なサイトでエクセル パスワード 解除 ソフト 辺りで探せ↓は一例
URLリンク(search.vector.co.jp)
>>412
sheet1に
Private Sub Worksheet_Calculate()
msgbox("")
End Sub
とか記述すればワークシートが再計算しているかどうか分かる
まぁ、保存ダイアログ出ていると言うことは再計算しているってことでok


420:名無しさん@そうだ選挙にいこう
10/06/16 22:27:03
>>417
何を聞きたいか分からないけどエスパーで

If InStr("副宮山長愛大", Left(Cells(1, 1).Value, 1)) > 0 And IsNull(Cells(1, 1).Value) = False Then

みたいにすれば一行ですむ。

421:名無しさん@そうだ選挙にいこう
10/06/16 22:29:19
>417
何をたずねたいの? >417の記述をもっとスマートに、ってことですか?

422:名無しさん@そうだ選挙にいこう
10/06/16 23:15:19
>>415,418
自分はピボットテーブルが使えないのと
データの種類も範囲も膨大なので
1種類ずつ単語の数を数えるのは避けたいんですが
無理ですかね?

423:名無しさん@そうだ選挙にいこう
10/06/16 23:24:21
>415,422
元データがA列~M列まであるようですが、1列に整形することはできませんか?


424:名無しさん@そうだ選挙にいこう
10/06/16 23:34:44
>>423
手動で何とかします。
1列にしたら2回以上ある単語の抽出可能ですか?

425:名無しさん@そうだ選挙にいこう
10/06/16 23:36:27
1列のデータにするのが正しいExcelの使い方だが、A列からM列でもピボットは使える。

426:名無しさん@そうだ選挙にいこう
10/06/16 23:42:46
>>424
並び替えて上と異なり下と同じものを抽出。

427:名無しさん@そうだ選挙にいこう
10/06/17 00:00:21
>>422
ピボットテーブルでデータの種類と個数を調べるなんてアホでもできる
食わず嫌いしてないでさっさとぐぐって覚えろ

428:423
10/06/17 00:02:58
>424
A列だけに整形できた後に、B1セルに以下の式をいれて下にフィルコピーしてください。
=IF(AND(COUNTIF(A:A,A1)>1,COUNTIF(A1:$A$1,A1)=1),A1,"")
同一内容が2個以上で、最初に出現したものだけがB列に表示されます。
後はオートフィルタでB列の▽をクリックし、空白以外のセルを選択するといいです。
整形には、並び替えは不要です。

並び替えまでするのなら>426さんの方法で、具体的にはB2セルに
=IF(AND(A1=A2,A2<>A3),A2,"")
を入れて下にフィルコピー。B1セルは空白のままとする。
そしてオートフィルタ以下の操作は上に同じです。

429:名無しさん@そうだ選挙にいこう
10/06/17 00:08:54
COUNTIFは使ってはいかんよ。
>>426が正しい考え方。

430:名無しさん@そうだ選挙にいこう
10/06/17 00:12:35
>429
COUNTIFに不具合でも?

431:名無しさん@そうだ選挙にいこう
10/06/17 00:22:53
>>420
ありがとございます

>>421
そです

432:名無しさん@そうだ選挙にいこう
10/06/17 00:35:04
>>430
おまいの頭が不具合
考えればわかることだ

433:名無しさん@そうだ選挙にいこう
10/06/17 00:56:41
>>417
どこにどうふり分けたいのか全然わかんねんだけど

434:404 ◆RKItBcY.UI
10/06/17 03:13:50
>>406
うまく動作してくれないです・・・

まず第一に、たとえば
 その魔物を倒すには「聖水」と「十字架」と「月桂樹の葉」が必要じゃ。
のセルで行うと一番最初のカギカッコの次から一番最後のトジカギカッコの手前の間まで全部の色が変わってしまいます
 その魔物を倒すには「<color>聖水」と「十字架」と「月桂樹の葉</color>」が必要じゃ。
みたいな感じになってしまいます
自分がやりたいのは
 その魔物を倒すには<color>「聖水」</color>と<color>「十字架」</color>と<color>「月桂樹の葉」</color>が必要じゃ。
みたいな感じです
なお、始まりと終わりの文字列が同じである文字列は全て同じ色にするつもりなので
毎回色を選択する必要はないです

次に、該当するセルはたくさんあるので一度にシート全体を範囲にしたいです
ひとつひとつセルを選んでいくのはとても無理です

最後に、これはちょっと後出し情報みたいになってしまいますが
(>>404のマクロだとこの点は解決済だったので書かなかったのですが)
例ではカギカッコ一文字の始まりと終わりでしたが
中には始まりも終わりも複数文字になることがあるので
始まり、終わり、双方とも任意の文字列を入力できるようにしてほしいです

>>404に貼ったマクロはかなりよくできていると思うので
そこからの改変はできないものでしょうか?
本当に後一歩のところまで来てるとは思うんですがカユイところに手が届かない感じです・・・
どうかよろしくお願いします

435:名無しさん@そうだ選挙にいこう
10/06/17 04:06:39
>>434
修正前
SB_pos = InStr(1, tmpRange.Value, search_charB, 0)
search_charC_len = SB_pos - start_pos + search_charB_len
Do While start_pos > 0

修正後
Do While start_pos > 0
  SB_pos = InStr(start_pos + 1, tmpRange.Value, search_charB, 0)
  search_charC_len = SB_pos - start_pos + search_charB_len

436:名無しさん@そうだ選挙にいこう
10/06/17 09:33:06
【1 OSの種類         .】 WindowsXPsp2
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 Excel 塗りつぶし コピー 数字
で検索しました。

初級な質問かもしれないのですが、Excelでセルを塗りつぶした後、
その塗りつぶしたセル達に数値だけをズラズラとコピーするにはどうすれば良いのでしょうか?
数値をコピーすると塗りつぶしたセルも真っ白になってしまったりするので・・・。


437:名無しさん@そうだ選挙にいこう
10/06/17 09:36:51
>436
編集-形式を選択して貼り付け-「値」にチェック

438:名無しさん@そうだ選挙にいこう
10/06/17 09:37:01
>>436
コピーしたあと、貼り付けしたいセルを右クリック→形式を選択して貼り付け→値

439:名無しさん@そうだ選挙にいこう
10/06/17 09:39:11
>>437-438
ありがとうございます!解決できました!
まだまだ勉強不足ですね・・・、お恥ずかしい

440:名無しさん@そうだ選挙にいこう
10/06/17 12:44:40
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ(打ち込んだりは出来ますが自作は出来ないです)
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 excel 住所 封筒印刷 複数

EXCELに記載した住所録から任意の一つの住所を選択して
封筒に印刷するマクロを作りました。
しかし、この方法だと複数には対応できません。
マクロを手直しする事で複数選択に対応できないでしょうか?

封筒の巻き込みを防ぐために封筒を上下逆にしているため
Word2007の差し込み機能を使う方法だと対応できませんでした。
(具体的には角2封筒の印刷時)

何か知恵をお貸しください。

441:名無しさん@そうだ選挙にいこう
10/06/17 12:48:19
マクロです。
住所録は列Aから順に名前、郵便番号、住所、住所(市町村名以降)
作業シートでは住所録で1234567と記入された郵便番号を〒123-4567と直しています。


Sub 角2封筒印刷()
'
' 角2封筒印刷 Macro
'

'
ActiveCell.Range("A1:D1").Select
Selection.Copy
Sheets("住所録").Select
Sheets("角2封筒印刷画面").Select
Range("AZ43").Select
ActiveSheet.Paste
Range("BA43").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("作業シート(変更禁止!!)").Select
Range("D12").Select
ActiveSheet.Paste
Sheets("角2封筒印刷画面").Select
Application.CutCopyMode = False
ExecuteExcel4Macro "PRINT(2,1,1,1,,,,,,,,2,,,TRUE,,FALSE)"
Sheets("住所録").Select
ActiveCell.Select
End Sub

よろしくお願いします。


442:404 ◆RKItBcY.UI
10/06/17 12:57:07
>>435
できましたスゴイですカンペキですあなたが神か計画通り!
ありがありがとうございましたありがー

443:名無しさん@そうだ選挙にいこう
10/06/17 13:11:25
>>441
解読するのがめんどくさいのでヒントだけ
For Each xxxx in yyyy という命令を使うと、複数選択されたセルを順番に1つずつ処理できる

For Each 以下略
  (印刷マクロ)
Next

みたいな感じで使う

444:横から失礼
10/06/17 13:40:41
>441
マクロの自動記録そのままのようですね。繰り返しとか分岐は自動記録では書けないので少し勉強が必要です。
で、>443さんの処理だと宛名1件分の4個のセルを4件分のデータとみなしてしまうので、初心者には???と
なりそう。

印刷対象を複数指定する方法はどうするんですか? エクセルの普通の印刷のときのように 1-5,8,9,10 みたいな
番号指定する方法? それとも住所録シートの各行のどこかの列に ○ とか 1 とか入力する方法?
それとも、まったく別の方法?


445:名無しさん@そうだ選挙にいこう
10/06/17 13:52:15
スレ違いになるけどWordの差し込み印刷使ったほうが・・・2003以前だと使いにくかったかもしれないけど

446:名無しさん@そうだ選挙にいこう
10/06/17 13:52:29
>>443
ありがとうございます。
さっそく調べてみて

Dim r As Range
For Each r In Selection

>>441のマクロ

Next r

をつけてみて試したところ・・・
一番最初に選択した住所が複数印刷される結果になりました・・・


>>444
アドバイスありがとうございます。

> 印刷対象を複数指定する方法はどうするんですか? エクセルの普通の印刷のときのように 1-5,8,9,10 みたいな
> 番号指定する方法? それとも住所録シートの各行のどこかの列に ○ とか 1 とか入力する方法?
> それとも、まったく別の方法?
これは私向けへのレスですよね?
選択方法は印刷したい名前の部分を選択範囲にしてマクロを動かす方法で行っています。


447:444
10/06/17 14:28:26
>446
あ、やっぱり1件のデータを複数データとみなしましたね。
>選択方法は印刷したい名前の部分を選択範囲にしてマクロを動かす方法
選択範囲がA1:D1の4個のセルなので、名前だけじゃなく郵便番号、住所1,2まで選択ですよね。

今使っているシートのうち、作業シート(変更禁止!!)は用いず、住所録と角2封筒印刷画面の
2シートだけで1枚ずつでも、まとまって印刷でもできるような方法があります。
自分が年賀状の宛名印刷に使っている方法です。
封筒印刷画面で「次」「前」「1件印刷」の3個のボタンで操作できます。これに「全部印刷」
の機能を加えるのも割と簡単です。興味があるなら資料を準備しますが。

448:名無しさん@そうだ選挙にいこう
10/06/17 17:04:33
>>446
For Each r In Selection
だとセルごとの繰り返しになってしまうので、
For Each r In Selection.Rows
とやれば1行ごとの繰り返しになる。

基準となるセルの行番号が変数 r に入るので、
その行の左端のセルは Cells(r, 1) で表すことができるようになる。
これを応用するとマクロの最初の行は
Cells(r, 1).Range("A1:D1").Select
のように書き換えることができる。

あとはそのままいけるはず

449:名無しさん@そうだ選挙にいこう
10/06/17 18:27:29
>440
逆向き印刷できないのはWORDじゃなくて
プリンタドライバのせい。
普通付いてると思うけど
プリンタのプロパティ、見た?

450:名無しさん@そうだ選挙にいこう
10/06/17 18:55:31
みなさんありがとうございます。

>>445
しかし、word2007の差し込み機能だとうまくできませんでした。

>>447
> 選択範囲がA1:D1の4個のセルなので、名前だけじゃなく郵便番号、住所1,2まで選択ですよね。
書き方が悪くてすみません。名前部分だけを選択して後はマクロで選択するように
設定しています。
現在では一つのセル選択でしか印刷できないのでこれを住所録の中からCtrlキーで任意に選択して
印刷したいと考えています。

>>448
なるほど。
今やってみた限りだとそれで上手く動かなかったので
出来る範囲で試してみてまた報告します。

>>449
それがプリンタドライバの方も逆向きに対応しておらず
(hpのofficejet 7000 E809a)
wordの差し込みも逆にすることができませんでした。

URLリンク(www.dotup.org)
したい印刷方法は一番右の枠外にあるやりかたです。



451:名無しさん@そうだ選挙にいこう
10/06/17 20:15:52
C3セルに名前を入れて、その名前をファイル名にして保存するとき、
既に保存されてるファイルがあったら末尾に-2、-3と付けて保存するには
どう書けばいいでしょうか?

Sub 保存()
 FOL = "D:\data\"
 SBN = Range("C3").Value
 TWB = ThisWorkbook.Name
 Workbooks(TWB).SaveAs Filename:=FOL & SBN & ".xls"
End Sub

C3セルに"京子"が入ってたら、最初は "京子.xls"、2回目は "京子-2.xls"、
3回目は "京子-3.xls"になります。
よろしくお願いします。

452:名無しさん@そうだ選挙にいこう
10/06/17 20:30:44
>451
ファイルが存在するかどうかのチェックは↓参照。
URLリンク(officetanaka.net)
OfficeTANAKA FileSystemObjectオブジェクト - FileExistsメソッド

あとは"-2.xls","-3.xls","-4.xls"・・・と変化させる部分の繰り返しを組み合わせる。

453:名無しさん@そうだ選挙にいこう
10/06/17 21:01:59
>>452
ありがとうございます。
1回目はおk、2回目になると×のところで止まってしまします。
どこを直せばいいでしょうか?

Sub test10()
''C:\Work\Sample.txtが存在するかどうか調べます
Dim FSO As Object, Target As String
FOL = "D:\data\"
SBN = Range("C3").Value
TWB = ThisWorkbook.Name
For i = 2 To 10
 Set FSO = CreateObject("Scripting.FileSystemObject")
 'Target = "C:\Work\Sample.txt"
 Target = FOL & SBN & ".xls"
 If FSO.FileExists(Target) Then
  'MsgBox Target & "が存在します"
  Workbooks(TWB).SaveAs Filename:=FOL & SBN & "-" & i & ".xls" ←×
 Else
  'MsgBox Target & "は存在しません"
  Workbooks(TWB).SaveAs Filename:=FOL & SBN & ".xls"
  GoTo 100
 End If
 Set FSO = Nothing
Next
100
End Sub

454:名無しさん@そうだ選挙にいこう
10/06/17 21:34:31
>453 試してはいません。あしからず
TWB = ThisWorkbook.Name rem ここまでは>453に同じ
i = 1
Set FSO = CreateObject("Scripting.FileSystemObject")
Do
  If i = 1 Then
    Target = FOL & SBN & ".xls" rem 最初だけ
Else
    Target = FOL & SBN & "-" & i ".xls" rem 2回目以降
  EndIf
  If FSO.FileExists(Target) Then   rem フルパスTargetで存在したら
    i = i + 1  rem 変数を+1してループ継続
  Else      rem 存在しないときだけ
    Exit Do   rem ループを脱出
  EndIf
Loop
Workbooks(TWB).SaveAs Filename:=Target rem ファイルセーブ
Set FSO = Nothing
End Sub

ファイル存在チェックを「存在しない」になるまで繰り返すこと。
そのために先にフルパスの組み立てを行っておけばいいはず。
FSOの処理ははじめとおわりに1回ずつでいいと思う。

455:名無しさん@そうだ選挙にいこう
10/06/17 21:58:32
>>454
ありがとうございます。
Target = FOL & SBN & "-" & i & ".xls"でおkでした。

456:名無しさん@そうだ選挙にいこう
10/06/17 23:19:38
質問です。
ボタンと図形が混在してるシートがあり、
ボタンをクリックしたら特定のボタンだけを削除してから
ブックを保存するにはどうすればいいでしょうか?

457:名無しさん@そうだ選挙にいこう
10/06/18 00:01:05
>>456
特定のボタンを削除してブックを保存するマクロを作ってボタンに登録。
でも1回目で特定のボタンが消えるから、そのマクロは二度と使えない。とても無駄な作業になる。

458:名無しさん@そうだ選挙にいこう
10/06/18 05:38:07
>>456
>>457の方式を別のシートへボタン作って登録しておけばOK.
また、マクロの場合は通常”Ctrl+□”で作動する設定をするので
>>457の>そのマクロは二度と使えない。
ということはないでしょう。

459:名無しさん@そうだ選挙にいこう
10/06/18 08:36:14
消去する対象が無くなってしまうから二度と使えないって意味では?

460:名無しさん@そうだ選挙にいこう
10/06/18 09:10:52
>>457
特定する方法によるな


一番番号の大きい画像
一番右の画像、等

461:複乳
10/06/18 09:13:06
>>456
Private Sub CommandButton2_Click()
Shapes("CommandButton1").Delete
End Sub
こんな漢字?保存はマクロの記録でやっておくれ

462:名無しさん@そうだ選挙にいこう
10/06/18 09:19:17
>>456
ESPしてみた。

たぶんボタンと図形が混在しているシートがたくさんあり
その中から一定の条件を満たすボタンだけ削除し保存したい。
面倒だから、それぞれボタン一発でやりたい

ということかな?

463:名無しさん@そうだ選挙にいこう
10/06/18 11:45:34
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel 2002
【3 VBAが使えるか    .】 NO
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 現在時刻 条件付き書式設定


初心者です。 スケージュール表を作っていて、

A1に9:00 B1に9:30 C1に10:00・・・・といった感じで並んでいます。(h:mm)

やりたいことは経過した時間の部分は赤く表示させたい為、条件付き書式設定を
使用したいのですが、 セルの値が 次の値より小さい =NOW() で設定しても上手くいきません。

シートには今日のスケジュールのみしかない為、日にちは気にせず 現在時刻とだけ比較したいです。
初歩的かもしれませんが、お知恵をお借りしたいです。よろしくお願い致します。

今日のスケジュールのみな為、

464:名無しさん@そうだ選挙にいこう
10/06/18 11:47:11
すいません。 最後の行はシカトしてくださいです。(m´・ω・`)m ゴメン…

465:複乳
10/06/18 12:09:35
>>463
シリアル値の問題
A1のように時刻だけ入れると 1900/1/0 の 9:00なんだけど(シリアル値で0.375)
now()は2010/6/18 12:05 と返ってくる(シリアル値で40347.5048・・)

要するに日付部分をひけばいいので
=NOW()-TODAY()とすれば解決


466:名無しさん@そうだ選挙にいこう
10/06/18 12:36:48
>>463
数式が にして

A1セルだとして

=A1<(NOW()-INT(NOW()))

こんな感じにすればいいんではないかい?

467:463
10/06/18 13:15:34
>>465
ありがとうございます。 出来ちゃいました(`・ω・´)
TODAYのが邪魔だったワケですね。自分でも理解できてよかったです。


>>466
ありがとうです。
やってみましたが なんか上手くいかなかったです。でもありがとうございました。


(`・ω・´)ありがとおおおおおおおおおおおおおおおおおおおおおおお

468:名無しさん@そうだ選挙にいこう
10/06/18 16:15:34
数学がほとんどできない馬鹿ですけど
回答者のみなさんと同じレベルのエクセルを身につけたいと思っています

そこでみなさんがスキルアップのために利用したサイトとありましたら教えていただけないでしょうか

469:名無しさん@そうだ選挙にいこう
10/06/18 16:19:37
ヒント Excelと数学は関係ない。ていうかまったく必要ない。

どっちかと言うと数学じゃなくて算数だよ。
よく見てごらん、ほとんど足し算と引き算しかしてないじゃない。
その回数がちょっと多いだけ。あとはパズルみたいなもん。

470:複乳
10/06/18 16:25:55
>>468
関数といっても数学とは関係ないが、関数は一通り使ってみるといい
「エクセル 関数」でぐぐれば一覧が出てくる

個人的に役にたったサイトは↓。そのままぐぐればトップにでてくるよ
インストラクターのネタ帳
オフィス田中


471:名無しさん@そうだ選挙にいこう
10/06/18 16:43:05
はじめまして。
長文&改行が多いので分割して投稿させてくださいませ。m(_ _)m

現在、EXCEL2003で以下の処理をマクロで実行しようとしているのですが
1004のエラーが発生する場合と、発生しない場合とがあって困っています。
誰か考えられる原因を教えて下さい。

【1 OSの種類         .】 Windows2003 ※VMで使用
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可


【EXCELの設定】
「オートフィルター」を設定
「ブックの共有」、「ブックの保護」、「シートの保護」を設定

【条件】
「フィルター」を設定し、絞込みをおこなっておく。

【EXCEL終了前の処理】
Workbook_BeforCloseイベント内でFilterModeがTrueの場合には
ShowAllDataを実行して、全部のデータを表示してから保存後にEXCELを終了する。


472:名無しさん@そうだ選挙にいこう
10/06/18 16:44:30
>>471 の続きです。

【エラーの発生原因】
ShowAllDataを実行する際にエラーとなる

【1004実行時エラーの発生するケース】

・「ブックの共有」→「フィルター」設定→Workbook_BeforClose→EXCELの終了
・「ブックの共有」→「フィルター」設定→「ブックの共有解除」→Workbook_BeforClose→EXCELの終了

【エラーが発生しないでShowAllDataが正常に実行されるケース】
・「ブックの共有解除」→「フィルター」設定→Workbook_BeforClose→EXCELの終了
・「ブックの共有解除」→「フィルター」設定→「ブックの共有」→Workbook_BeforClose→EXCELの終了


当初は、ブックの共有が掛かっているとShowAllDataは使えないのかと
思ったのですが、そうでもないような・・・。
強いて言えば、ブックをOPENする際にブックの共有設定がONかOFFかという点
位かと。
ただ、終了前にブックの共有を設定したり解除した際にはMultiUserEditingに正しい
値が反映されているので、SowAllDataはブックのOPEN時に共有設定をPublic変数に
保存しておいて、SowAllDataを実行する際には、その変数で条件判断して実行する
かしないか抑制しないといけないものなのでしょうか?

長文すみましぇん。m(_ _)m

473:名無しさん@そうだ選挙にいこう
10/06/18 16:46:02
MOGUはどうですか?

474:名無しさん@そうだ選挙にいこう
10/06/18 17:27:30
>>471
If ActiveSheet.FilterMode Then
ActiveSheet.ShowAllData
Else
MsgBox "?"
End If
とかフィルタの状態をみるのかな

475:名無しさん@そうだ選挙にいこう
10/06/18 19:26:23
2000から2003に移行したのですが、関数の入力が煩雑になっていて、欝です。がなにかうまい対処法はないものでしょうか。
2003では関数を出すfxボタンを押すと、関数のダイアログボックスが出るのですがこれが非常に使いにくいです。
2000なら「=」ボタンを押すとすぐ左に関数一覧が表示されて、それをシングルクリックするだけでいけました。
ところが、2003だと、fxボタンを押すと、関数一覧のダイアログボックスが画面中央に出ます。遠いです。そして、関数の選択もダブルクリックしないといけなくなりました。
ダイアログボックに表示される「関数の検索」も邪魔です。
細かいようなのですが、関数はよく使うのでとても不便です。
2000の時のようにさくっと関数入力がしたいのですがうまい方法はないものでしょうか。

476:名無しさん@そうだ選挙にいこう
10/06/18 20:07:08
2000に戻す以外に解決方法はない

477:名無しさん@そうだ選挙にいこう
10/06/18 21:43:59
>>473
mougのことか?
あちらの一般掲示板はかなりひどい。
まぁ追加書き込みできない仕様じゃレベルが低くなるのはしょうがねーだろうな。
なかにはまともな回答者も数人はいるんだが、残念ながら悪貨が良貨を駆逐しつつある。

478:名無しさん@そうだ選挙にいこう
10/06/18 23:39:58
>>477
悪貨って誰よ?
おまえはまともな回答者なのか?

479:名無しさん@そうだ選挙にいこう
10/06/19 00:18:12
教えて下さい。

生徒の成績(合計点)をA~Cで評価する場合の式が分かりません。
合計点165点以上はA
155~164点はB
154点以下はCです。
AとBだけならできるのですがCが入ると分かりません。


480:456
10/06/19 00:25:35
>>457-462
説明不足ですみません。
注文書.xlsにマクロを書きます。
シートが複数あって、その中に"LIST"というシートがあります。
そのシートにある[保存]ボタンをクリックすると、LISTというシートだけを
0618_注文書.xlsとして保存します。
図形とボタンが3つあるので、3つのボタンだけを削除したいです。


Sub 保存する()
Book_Name = ThisWorkbook.Name
myPath = ThisWorkbook.Path & "\"
Sheet_Name = ActiveSheet.Name
myDate = Format(Date, "mmdd_")
Sheets(Array(Sheet_Name)).Copy
Shapes("CommandButton1").Delete
ActiveWorkbook.SaveAs Filename:=myPath & myDate & Book_Name
ActiveWorkbook.Close 'SaveChanges:=False
End Sub

Shapes("CommandButton1").Deleteがコンパイルエラーになってしまいました。

481:名無しさん@そうだ選挙にいこう
10/06/19 00:35:25
>>479
=IF(A1>=165,"A",IF(A1<=154,"C","B"))

482:名無しさん@そうだ選挙にいこう
10/06/19 00:38:00
>>480
シート名は省略できない。たとえばこう書けばエラーにならない
ActiveSheet.Shapes("CommandButton1").Delete

483:456
10/06/19 02:47:11
>>482
実行時エラー '-2147024809 (80070057)':
指定した名前のアイテムが見つかりませんでした。
とメッセージが出ます・・・

484:名無しさん@そうだ選挙にいこう
10/06/19 02:57:37
>>483
>>482はあくまでも例
実際は自分の作ってるブックに合わせてシート名とボタン名を書き換える

485:名無しさん@そうだ選挙にいこう
10/06/19 06:22:51
>>481 式ありがとうございました。
嬉しくて感激です!ヽ(^o^)丿
数字出してみます。本当にありがとうございました!!!

486:475
10/06/19 07:15:56
>>476
マジですか~~。
なんかもう2003って使いにくいだけですね・・・。なんで金払って新しいの買って、
前より使いにくくなってるのか理解に苦しみます。

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


487:名無しさん@そうだ選挙にいこう
10/06/19 08:25:24
>>486
だいじょうぶだ。2007になればもっと使いにくくなっている

488:名無しさん@そうだ選挙にいこう
10/06/19 09:32:16
会社のExcel2007で作ったxlsxのファイルを家のExcell2003で開く方法はありませんか?

会社のExcel2007で旧バージョンのフォーマットのxlsで保存すればいいのは知ってますが、今回は家にいるのでその方法は使えません。
今、xlsxのファイルを家のExcel2003で開く必要がありまして。

489:名無しさん@そうだ選挙にいこう
10/06/19 09:41:38
開くだけだったらExcelビューアなかったっけ?

490:名無しさん@そうだ選挙にいこう
10/06/19 11:15:19
>>488
これ入れる
URLリンク(www.microsoft.com)

491:名無しさん@そうだ選挙にいこう
10/06/19 11:22:31
>>485
ちなみに4つ以上に分類するときは、ちょっと変えると見やすい
=IF(A1>=165,"A",IF(A1>=155,"B",IF(A1>=55,"C","D")))

492:名無しさん@そうだ選挙にいこう
10/06/19 11:24:08
ビューアとかコンバータが公式から落とせるけど
2007で追加された新機能は基本的に無視されるからファイルによってはまともに開けない
Office2010の体験版入れた方が確実(ただし会員登録が必要)

あとはOOoを使うという手もあるけど互換性がちょっと低いのと使い勝手も全然違う

493:名無しさん@そうだ選挙にいこう
10/06/19 12:42:26
先生、8つ以上は?

494:名無しさん@そうだ選挙にいこう
10/06/19 12:44:46
>>479
条件が3つ程度ならIF関数で充分だが、沢山ある時は表を作ってLOOKUPの方が簡単。
下のような表がC1:D5にあるとすれば
=LOOKUP(A1,C$1:D$5)
=LOOKUP(A1,C$1:C$5,D$1:D$5)
など。

0 E級
20 D級
30 C級
50 B級
70 A級
90 S級


495:名無しさん@そうだ選挙にいこう
10/06/19 13:08:43
>>440-441,446,450です。
あれから色々やってみて満足に動くようになりました。
皆さんのおかげで助かりました。ありがとうございます。
改善したマクロも載せておきますね。

Dim r As Range
For Each r In Selection.Rows

Dim I As Integer
I = r.Row

Cells(I, 1).Range("A1:D1").Select
Selection.Copy
Sheets("長型3号(2)").Select
Range("Z26").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("AA26").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("作業シート(変更禁止!!)").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("長型3号(2)").Select
Application.CutCopyMode = False
ExecuteExcel4Macro "PRINT(2,1,1,1,,,,,,,,2,,,TRUE,,FALSE)"
Sheets("住所録").Select
Cells(I, 1).Select

Next
End Sub


496:名無しさん@そうだ選挙にいこう
10/06/19 13:29:49
B評価の幅がえらく狭いな

497:名無しさん@そうだ選挙にいこう
10/06/19 13:41:38
>>496
D評価だろ?
等間隔にするとINTとか使えるから、それを使えないようにした。


498:名無しさん@そうだ選挙にいこう
10/06/19 13:47:38
よく見たらC1:D6だったな。
まぁわかるだろう。

499:名無しさん@そうだ選挙にいこう
10/06/19 14:05:11
>>493
シート上に表を作らずにLOOKUPで振り分ける方法がある。
こんなふうに昇順で並べて書けば、何段階でも分類できる。
=LOOKUP(A1,{0,30,100,155,165},{"E","D","C","B","A"})
         ↑          ↑
        範囲の下限     評価

欠点は微妙に計算が遅いこと。1000個ぐらい並べると目に見えてExcelの動作がもっさりしてくる。
最近のパソコンはそれほどでもないかな?
まあ、同じ式をたくさん並べるときは表を作った方がいいだろうね。メンテもやりやすくなるし。
それと、このスレには配列が大嫌いなやつがいて罵倒してくること。

500:名無しさん@そうだ選挙にいこう
10/06/19 14:33:39
>>499
罵倒観音は俺もその一人だなw
間違った使い方するやつしか罵倒しないけどね。
SMALLを使うやつは特に罵倒したくなる。
おめーはチンポもSMALLだろってねw


501:名無しさん@そうだ選挙にいこう
10/06/19 14:37:00
観音様は女だったか。
=LOOKUP(A1,{0,30,100,155,165;"E","D","C","B","A"})
でもいいんだな。

502:456
10/06/19 16:48:10
>>484
シート名は"LIST"です。
ボタン名は"保存"です。
で、どう書けばいいですか?

503:名無しさん@そうだ選挙にいこう
10/06/19 17:36:05
>>502
ボタンに「表示されてる文字」と「名前」は関係ないから、まずはボタンの名前を調べる。
デザインモードに切り替えてからボタンを右クリックしてプロパティを開く。
出てきた一覧表の1行目に

(オブジェクト名) CommandButton1

みたいに書いてあるので、この右側の「CommandButton1」の部分がボタンの名前になる。

504:456
10/06/19 18:05:36
>>503
右クリックしてもプロパティが出てきません。
URLリンク(uproda.2ch-library.com)

505:名無しさん@そうだ選挙にいこう
10/06/19 19:23:12
>>504
それはフォームのボタンだから、名前を調べるのはちょっと手間がかかる。
まずデザインモードを解除して、もう一度デザインモードに入り直す。
次にマクロの記録→OKをクリックしてから、名前を調べたいボタンをクリック、
点線で囲まれたらマクロの記録を終了。記録されたマクロを確認すると

ActiveSheet.Shapes("Button 123").Select

みたいになってるはず。この "Button 123" のところがボタンの名前。
で、この場合のボタンを削除するマクロは

ActiveSheet.Shapes("Button 123").Delete

になる。

506:456
10/06/19 19:39:38
>>505
Application.Run "注文書.xls!保存する"しか記録されません・・・orz

507:名無しさん@そうだ選挙にいこう
10/06/19 19:45:36
>456,504
当方Excel2003で、起動してすぐは右クリックしても「プロパティ」の項目は出ませんでした。
なにか操作してたら出るようになりました。何したっけ?

とりあえず、メニューから 表示>ツールバー>コントロールツールボックス
で、このツールバーが独立して画面上に存在するときの
右上隅のアイコン(マウスカーソルをのせると「プロパティ」って表示される)をクリックする。

>505
>504の画像を見る限り、シート上のボタンのように見えます。フォームのボタンだと、
VBA編集画面のフォームの上にしか置けないのでは?

508:507
10/06/19 19:50:19
と思ったら、フォームのボタンもシート上に置けるんですね、知らなかった。

>456,504 コマンドボタンと、フォームツールバーによるボタンとの見分け方がわかります。
エクセル マクロ
Excelの「コマンドボタン」の使い方
URLリンク(allabout.co.jp)

509:名無しさん@そうだ選挙にいこう
10/06/19 19:52:08
コントロールツールボックス vs フォームじゃ、話が噛み合わんわなwww

510:507,508
10/06/19 20:06:46
コマンドツールバーで作ったボタンだろうが、フォームツールバーで作ったボタンだろうが、
デザインモードでそのボタンをクリックすると、通常ならセル位置を表示する場所
(画面の左上の方、数式を入れる部分の左隣)にオブジェクト名が表示されますよ。
そこをクリックして[Ctrl]+[C]でコピーできます。
フォームツールバーによるボタンだと既定値は ボタン 1 になります。
コントロールツールバーによるものの既定値は CommandButton1 になります。
※ボタンに表示されている文字列はCaptionであり、オブジェクト名ではありません。

511:名無しさん@そうだ選挙にいこう
10/06/19 20:45:14
>>506
じゃあマクロの記録のあと、目的のボタンを右クリックしてから記録の終了

512:名無しさん@そうだ選挙にいこう
10/06/19 20:46:59
>>510
フォームボタンの場合はボタン名じゃなくてキャプションが表示されるのでこの場合は使えない。

513:名無しさん@そうだ選挙にいこう
10/06/19 20:48:07
>>509はわかってない
斜め読みして茶々入れただけ

514:名無しさん@そうだ選挙にいこう
10/06/19 20:49:45
>>510
>コマンドツールバーで作ったボタンだろうが、フォームツールバーで作ったボタンだろうが、
>デザインモードでそのボタンをクリックすると、通常ならセル位置を表示する場所
>(画面の左上の方、数式を入れる部分の左隣)にオブジェクト名が表示されますよ。

マクロが登録されてなければそれでいい。
お前が馬鹿丸出しなのは、>>506を読んでないか理解してないところ。
さらにエスパーすれば、480でボタン3個と書かれてるから保存ボタンなら
「ボタン 1」になる可能性は低いと推測される。

>>506
デザインモードは気にすることなくボタンを右クリックすれば分るはず。

515:名無しさん@そうだ選挙にいこう
10/06/19 20:50:54
うまく選択できないときは「オブジェクトの選択」モードで目的のボタンを囲めばいい

516:名無しさん@そうだ選挙にいこう
10/06/19 20:54:23
もちろんわかってるってば。
右クリックでコンテキストメニューに「プロパティ」が出るのはコントロール、出ないのはフォームのボタン。

フォームボタンの場合、マクロが登録されていなければ左クリックはActiveSheet~Select、
登録されている場合はApplication.Runになる。

フォームボタンの場合はセル名のところに表示されるのはキャプションであってボタン名じゃない。

517:名無しさん@そうだ選挙にいこう
10/06/19 20:55:57
ついでに。
詳しそうだから、フォームのボタン名を一発で調べる方法があったらぜひ教えてくれ。

いや、教えてください。

518:名無しさん@そうだ選挙にいこう
10/06/19 21:23:11
初歩的な質問ですみません。
取引先から送られてくるエクセルでシートの外(?)の部分がグレーになっているのですが
どうやったらシートの範囲を広げられるのでしょうか。
範囲を広げて、その部分に計算式やプルダウンリストの選択肢を入れたいのですが。。

519:名無しさん@そうだ選挙にいこう
10/06/19 21:35:14
>>518
表示→標準

520:名無しさん@そうだ選挙にいこう
10/06/19 21:55:02
>>517
ボタンをクリックして、名前ボックスを見る

521:名無しさん@そうだ選挙にいこう
10/06/19 22:06:09
>>517
デザインモードでボタンをクリック→数式バーを見る。

522:名無しさん@そうだ選挙にいこう
10/06/19 22:10:57
>518
>519さんの説明で「標準」にするか「改ページプレビュー」にするかにかかわらず、
印刷範囲は変わりません(印刷プレビューで確認してください)

灰色部分に計算式やプルダウンリストは入力できませんか? 普通なら入力できるはず。
もし、入力できない場合はセルの保護とシートの保護がかかっていると思われます。



523:名無しさん@そうだ選挙にいこう
10/06/19 22:20:02
519さん、522さん、早速ありがとうございます。
今手元にそのエクセルが無いので未確認なのですが、月曜にでも表示を確認してみます。
グレー部分は、何も入力できなかったので保護がかかっているのかも知れません。

524:複乳
10/06/19 22:35:01
灰色になってるところの列番号(上のABCDE..ってやつ)がIV列まで無く、途中で切れてるなら
端まで非表示になってる
行番号(←の12345・・)も65536行までなければ同様

CTRL+A押して列番号のAを右クリック、すべて表示を洗濯

525:456
10/06/19 23:15:26
>>511
ActiveSheet.Shapes("Button 152").Select
ActiveSheet.Shapes("Button 153").Select
ActiveSheet.Shapes("Button 154").Selectになりました。
ボタン3個しかないのに何で?

526:456
10/06/19 23:23:23
ActiveSheet.Shapes("Button 152").Delete
ActiveSheet.Shapes("Button 153").Delete
ActiveSheet.Shapes("Button 154").Deleteで消えました。
ありがとうございました。

527:名無しさん@そうだ選挙にいこう
10/06/19 23:34:37
>>526の時刻に注目。

528:名無しさん@そうだ選挙にいこう
10/06/20 00:00:00
>>527

529:名無しさん@そうだ選挙にいこう
10/06/20 05:14:31
>>525
たぶん、そのシートの作成者がボタンを何度も作ったり消したりしたんでしょう。苦労の跡。

530:名無しさん@そうだ選挙にいこう
10/06/20 14:45:30
>>529
苦労じゃなく、マクロでシート作成>シート削除だったりして。

531:名無しさん@そうだ選挙にいこう
10/06/20 16:15:52
>>382
ありがとうございました!

532:名無しさん@そうだ選挙にいこう
10/06/20 18:05:37
>>520 >>521
その方法でコントロールのボタン名は出たけどフォームのボタン名は出ませんでした

533:名無しさん@そうだ選挙にいこう
10/06/20 18:29:19
>532
>515参照 オブジェクトの選択モードとは、図形モードにして白矢印をクリックした状態。
マウスカーソルが 太い十字 から 線を組み合わせた十字 になる。

534:名無しさん@そうだ選挙にいこう
10/06/20 20:50:11
IF文で効率のいい書き方を教えてちょ。

If a=1 Then
 あ
EleseIf a=2 Then
 い
Else
 あ
 い
End if

「あ」と「い」は色々な処理で十数行ありんす。

535:名無しさん@そうだ選挙にいこう
10/06/20 20:54:51
if文じゃなくてSelect Case使えば?

536:名無しさん@そうだ選挙にいこう
10/06/20 21:08:11
i = Cells(1, 1)

Select Case i
 Case 1

  Cells(1, 1) = "さわじり"
 Case 2
  Cells(1, 1) = "えりか"
 Case Else
  Cells(1, 1) = "べつに…"
End Select

すきに改変しなされ。

537:名無しさん@そうだ選挙にいこう
10/06/20 22:00:13
わかりましぇーーーーん(><)

538:名無しさん@そうだ選挙にいこう
10/06/20 22:08:53
>534
あ、い、という部分が十数行あって同じような処理を繰り返し記述する(あ>い となる部分)のが
いやだ!ということなら、あ、い、それぞれひとつの手続(private sub)にでもまとめたら?
If a=1 Then
 call あ
EleseIf a=2 Then
 call い
Else
 call あ
 call い
End if

private sub あ()
 あ の処理
end sub

private sub い()
 い の処理
end sub


539:名無しさん@そうだ選挙にいこう
10/06/20 22:13:46
おいおい・・・
ちょっとでも書き換えがあるとわからなくなるんかいな

Select Case a
 Case 1
  あ
 Case 2
  い
 Case Else
  あ
  い
End Select

>>534 でやってることと全く同じにしたで。
これ以上のことは書きようが無いで。エスパーやないからな。

540:538
10/06/20 22:15:01
>534
URLリンク(okwave.jp)
の ベストアンサー以外の回答 のところが参考になるかも

(抜粋)
短いマクロであればそうでもありませんが、基本的な考え方としては
・処理ごとに部品化する事で再利用しやすくする。
・マクロの処理順と関係なく機能ごとにまとめておけるのでメンテナ
ンスや変更などが容易になる。
・問題が起きた時にどの機能が悪いのかテストしやすくなる。
などがあげられます。それよりも、見た目がすっきりすると言うのは
結構重要で、みやすくなる事で打ち間違いなどのバグが少なくなります。

541:538
10/06/20 22:18:30
>539
たぶん効率がいい書き方ってのが 同じようなことを何回も書きたくないってことではないかとエスパー。
あ、い、それぞれ十数行あるから「コピペ」すればいいんだろうけど、修正もれとかいろいろ考えると
十数行ともまったく同じ処理なら サブルーチン にまとめた方がいいと思う。

542:名無しさん@そうだ選挙にいこう
10/06/20 22:18:35
cみたくbreak入れなければ流せると便利なんだけどな>select~case

543:名無しさん@そうだ選挙にいこう
10/06/20 22:37:03
>>538
やってみます。

>>539
536って、iが整数でそ?
なんで"さわじり"とかになるの?

544:名無しさん@そうだ選挙にいこう
10/06/20 22:46:17
>543
i に文字列を入れているのではない
Select Case i  ← iの値によって処理を振り分ける
Case 1     ← iの値が1のとき
 Cells(1, 1) = "さわじり" 1列1行目(A1セル)の値を さわじり" にする


545:名無しさん@そうだ選挙にいこう
10/06/20 22:49:20
>>541
なるほど。


>>543
|:3ミ
日本語で説明しようか。

A1 が…
1 だったら、A1 に さわじり を入れる。
2 だったら、A1 に えりか を入れる。
それら以外だったら、A1 に べつに… を入れる。

べつに、A1 へ入力する内容は整数だけ…とは、どこにも書いてないし、誰も言ってない。
i に値を入れた後は、べつに A1 の内容が変わろうとも i の内容は変わらない。
だから、最初に A1 に 2 を入れて >>536 の内容を二回実行すると、2回目には "べつに…" と入る。

なんでこう、ちょっとしたユーモアを解してくれないのか…

546:538
10/06/21 00:24:22
>534が全くの初心者みたいだから、ひょっとするととんでもない書き方してるかも。

念のために、サブルーチンは元々のマクロとは別の部分に書くこと。

Sub 誤りの例()       Sub 正しい例()
 If a=1 Then          If a=1 Then
  call あ             call あ
 EleseIf a=2 Then      EleseIf a=2 Then
  call い             call い
 Else              Else
  call あ             call あ
  call い             call い
 End if             End if
 Private Sub あ()      End Sub
  あ の処理        Private Sub あ()
 End Sub            あ の処理
 Private Sub い()      End Sub
  い の処理        Private Sub い()
 End sub            い の処理
End Sub            End Sub

547:名無しさん@そうだ選挙にいこう
10/06/21 00:46:32
なんで文書書くのに、エクセル使うやつがいるの?

文書はワード、表処理、計算はエクセル。
それぞれ役割がある。

自分が好きでエクセル使うのはいいけど、後の人のこと考えてくれ。
エクセルだと、文書がブツブツ切れて作業大変。

日曜にこんな変な仕事しなくちゃならない俺の身になってくれ。

548:名無しさん@そうだ選挙にいこう
10/06/21 00:51:51
今宵、EleseIf に突っ込むやつはいねーのか?

549:名無しさん@そうだ選挙にいこう
10/06/21 01:32:08
野暮だな。

検証してみれば elseif が eleseif だったら、実際には動かないんだから、そこで気づくさ。

550:名無しさん@そうだ選挙にいこう
10/06/21 01:42:26
>>547
半分…いや9割9分、同意してやんよ。
フォーマット次第では Word より Excel のほうが楽になるけどな。
Alt+Enter とかが多少、面倒なくらいで。

でも、資料を全部パワポで作る上司は赦せん。
ネットワーク図なら Visio 使えよ…

551:名無しさん@そうだ選挙にいこう
10/06/21 01:53:24
>>550
> でも、資料を全部パワポで作る上司は赦せん。
> ネットワーク図なら Visio 使えよ…

それは、可哀想だな。
会社の資料ってのは、一人の物ではないってのを、ゆっくり言い聞かせたい。

552:名無しさん@そうだ選挙にいこう
10/06/21 01:57:35
てゆーか、文章を書くならExcelよりWordだろ?
見積書とか報告書なら兎も角、セル内改行で書いてるのか?

553:名無しさん@そうだ選挙にいこう
10/06/21 02:02:42
>>552
セル内改行なのだよ。もう最悪。
文書が途中で切れるんだよ。

で、この資料の版を更新するんだが、文書変更するのが面倒くさい。

554:名無しさん@そうだ選挙にいこう
10/06/21 02:13:54
うまいひとはExcelでもきれいな文書を作れる
へたくそはWord使ってもまったくよれよれの文書しか作れない

使い手次第

うちの上司はなにやってもだめだ
一から俺らが作ったほうが早い

555:名無しさん@そうだ選挙にいこう
10/06/21 02:53:00
選択したセルの文字データの末尾に新たな文字を書き足すようなマクロを作るにはどうしたらいいでしょうか?
例:選択したセルに「6/21」と書いてあるときマクロを実行したら「完了」を自動で後ろに書き足して「6/21完了」になるようにしたい

556:名無しさん@そうだ選挙にいこう
10/06/21 06:21:27
>>555
Sub aaa()
Dim v
v = Selection.Value
v = Format(v, "m/dd") & "完了"
Selection.Value = v
End Sub

実用的じゃない気はするね

557:名無しさん@そうだ選挙にいこう
10/06/21 09:37:18
>>555
Selection.Value = Selection.Text & "完了"

558:名無しさん@そうだ選挙にいこう
10/06/21 13:11:35
>>474
471,472の質問をした者です。
フィルタの状態を見たいのでありません。

フィルタで絞り込んだ事で、非表示になったデータを
ブックを閉じる前に解除して保存(保存は任意ですが…)できる
ようにしたいのです。

こんな感じで↓

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.ScreenUpdating = False
'エクセルのバージョンがXP以降の場合
If usrThisApp.nAppVerNo >= 10 Then
Sheets("Sheet1").Select
' オートフィルタで絞り込まれていたら、非表示データを再表示
If ActiveSheet.FilterMode = True Then
ActiveSheet.ShowAllData
End If
Sheets("Sheet2").Select
' オートフィルタで絞り込まれていたら、非表示データを再表示
If ActiveSheet.FilterMode = True Then
ActiveSheet.ShowAllData
End If
Sheets("Sheet1").Select
End If
Application.ScreenUpdating = True
End Sub

でも、ブックの共有が設定されるタイミングによって1004実行時エラーが
発生する場合とエラーが発生せずにブックが終了する場合があるので、原因が
わからず困っているのです。

559:名無しさん@そうだ選挙にいこう
10/06/21 18:29:05
2007で2003のオートシェイプモードのように、
図形を描き続けられる方法って、ありますか?

560:名無しさん@そうだ選挙にいこう
10/06/21 20:56:55
<今月分 シート1>
A  B   C    D
11 田中 1000  10月
14 加藤  1000 10月 ←今月分シートから加わった新しい人
21 鈴木  1200  12月
33 山田  1100 11月


<前月分 今月分とは別ファイル→今月分シート2に必要部分だけコピー>
A  B  C   D   E  F  ....
11 田中 1000  10月 魚  a 
21 鈴木  1200  12月  花  b
33 山田  1100 11月 山  a
33 山田  1100 11月  川  a
21 鈴木  1200  12月  魚  a 
21 鈴木  1200  12月  川  b
44 小池  900 10月  魚  a ←今月分シートにはいない人
 

Excel2003で毎月シート1のようなデータが届きます。
シート1には新しい人が加わったり、逆に前月いた人がいなくなったりします。

前月分のデータで"a"になっているものは、今月も必要なため
現在は前月分ファイルで"a"のデータだけソートして、値を今月分ファイルのシート2に貼り付け→
A列の番号で並べ替え→シート1で列をコピー挿入し、シート2のE~以降を貼り付けています。

また、今月増えた人分のところには
シート2に空行を入れてE以降を張り付ける際にずれないようにしています。

この作業を毎月なんとか自動的にできるようにしたいのですが、
関数やマクロでなんとかなるものなのでしょうか?
VLOOKUPの応用なのかな?と思って色々試しているのですが、良い方法が見つかりません。

561:名無しさん@そうだ選挙にいこう
10/06/21 21:26:44
>>560
行の追加は関数だけではできないのでマクロが必要
マクロを使えば全自動化できる

562:名無しさん@そうだ選挙にいこう
10/06/21 21:33:00
>>559
図形の種類を選ぶときにアイコンを右クリックしてモードロック

563:名無しさん@そうだ選挙にいこう
10/06/21 21:40:29
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel 2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 excel 複数条件 抽出 重複 -フィルタオプション
シート上に下記のような表があり、その情報を元にA列とB列の組み合わせで重複しない表を作成したいと考えています。作成する際の条件は下記の通りです。
・C列に数字が入力されていて、0でない正の整数行のみを対象に検索
・作業列は利用しない
・フィルタオプションは利用しない
・表の作成の際に、A列、B列でソートする
・A列、B列はそれぞれマスタシートあり
このような条件で作成するに当たっては配列関数等が必要になるようにも思っていますが、いまいちうまくいきません。どうかご教示下さい。
<元の表>
A B C
1 りんご 青森 3
2 みかん 愛媛 2
3 メロン 北海道 5
4 りんご 北海道 9
5 バナナ 台湾 4
6 バナナ 沖縄 0
7 オレンジ アメリカ 10
8 メロン 北海道 1
9 みかん 愛媛 5

<作成する表>
A B
1 オレンジ アメリカ
2 バナナ 台湾
3 みかん 愛媛
4 メロン 北海道
5 りんご 青森
6 りんご 北海道

564:名無しさん@そうだ選挙にいこう
10/06/21 21:45:29
>>563
>A列、B列でソートする
ってのがよくわかんないけど、こんなのを関数(配列数式)でやるのは、遊びで一部のマニアがやる以外は無理。
vbaでやった方がいいよ

565:名無しさん@そうだ選挙にいこう
10/06/21 21:51:48
>>563
まずフィルタオプションを使わない理由を書け
次に自分で試してみた数式を1つ書け

566:名無しさん@そうだ選挙にいこう
10/06/21 22:18:53
遊び程度

A列抜き出し
=INDEX(A:A,SMALL(IF(MATCH($A$1:$A$9&$B$1:$B$9,$A$1:$A$9&$B$1:$B$9,0)=ROW($A$1:$A$9),MATCH($A$1:$A$9&$B$1:$B$9,$A$1:$A$9&$B$1:$B$9,0),10^4),ROW(A1)),0)&""
B列抜き出し
=INDEX(B:B,SMALL(IF(MATCH($A$1:$A$9&$B$1:$B$9,$A$1:$A$9&$B$1:$B$9,0)=ROW($A$1:$A$9),MATCH($A$1:$A$9&$B$1:$B$9,$A$1:$A$9&$B$1:$B$9,0),10^4),ROW(A1)),0)&""

ソートは意味が分からないし、正直無理だわw

配列で確定で。でも、この数式の意味がわからなければ使わない方がいいよ。もう少し綺麗な式にはなると思うけれど、
やっぱりおすすめしない

567:名無しさん@そうだ選挙にいこう
10/06/21 23:40:11
>>565
偉そうにw

568:名無しさん@そうだ選挙にいこう
10/06/21 23:45:56
>560 いくつかおたずねします。

「今月分」は翌月には「前月分」として使うことになるのですか?
説明を読んでいると、前月分のブックは処理が済めば用済みで、加工が済んだ「今月分」が
翌月には「前月分」の役目となるように理解しました。(翌月には新たな「今月分」が届く)
これだと、VBAを使うしかないと思います。

>A列の番号で並べ替え→シート1で列をコピー挿入し、シート2のE~以降を貼り付けています
今月分のシート1とシート2では、内容が異なるのでE列以降を貼り付けるとまずいのでは?
それとも、1行ずつ確認しながら貼り付ける?

569:名無しさん@そうだ選挙にいこう
10/06/21 23:51:47
>>566
意味がわかるやつは使わない。
使うやつは基地外の配列数式大先生くらいのもんだなw

570:名無しさん@そうだ選挙にいこう
10/06/22 00:22:35
>>563は三流SEレベルでよければ、A列とB列でソートしてフィルタオプションで数量が0以外を重複するレコードは無視するだな。
二流レベルを目指すならこれではまだ駄目だ。

571:名無しさん@そうだ選挙にいこう
10/06/22 00:54:48
上の三流レベルのやつはソートは抽出してからでいいからね。

572:名無しさん@そうだ選挙にいこう
10/06/22 01:14:33
>>563は配列数式でやりたければmougに行けばいいんじゃね?
配列数式の得意なMVPがいるから彼ならできるかも。

573:名無しさん@そうだ選挙にいこう
10/06/22 01:15:51
vlookupの検索値を空白セルにすることはできますか?
二択の表から”○”がついていない方を抜き出したいんです
例としては下表のとき、カメルーンを抜き出すのが目的です
  A    B
1  ○  日本
2     カメルーン
VLOOKUP("検索値",A1:B2,2,FALSE)
この"検索値"の部分をどうにかすればよいとは思うんですが、どうしてもわかりません。

574:名無しさん@そうだ選挙にいこう
10/06/22 01:27:18
>>573
空白セルを検索する方法はない。二択ならIFで調べればいい。
=IF(A1="",A1,B1)

575:574
10/06/22 01:28:09
まちがえた
=(A1="",B1,B2)

576:名無しさん@そうだ選挙にいこう
10/06/22 01:39:17
>>573
A2に「=""」と入力できるなら検索できるよ。

577:名無しさん@そうだ選挙にいこう
10/06/22 01:40:25
>>575
あ、ifでいいのか
ありがとうございました

578:名無しさん@そうだ選挙にいこう
10/06/22 01:42:12
>>576
なるほど、やっぱりifの方がよさそうですね

579:名無しさん@そうだ選挙にいこう
10/06/22 02:04:29
作業列、配列数式、VBAのどれかを使えば空白セルでも検索できるけどね。
変化球としては空白の代わりに「×」を入れて文字を白にしてしまう。そして×を検索するとか。

580:名無しさん@そうだ選挙にいこう
10/06/22 03:48:39
>>560

>前月分のデータで"a"になっているものは、今月も必要なため
>現在は前月分ファイルで"a"のデータだけソートして、値を今月分ファイルのシート2に貼り付け→
>A列の番号で並べ替え

ここまでで今月分ファイルの"シート2"は下のようになるって事ですよね?
A  B  C   D   E  F  ....
11 田中 1000  10月 魚  a
21 鈴木  1200  12月  魚  a
33 山田  1100 11月 山  a
33 山田  1100 11月  川  a
44 小池  900 10月  魚  a ←今月分シートにはいない人

>また、今月増えた人分のところには
>シート2に空行を入れてE以降を張り付ける際にずれないようにしています。
はいいんだけど
・今月分シートにはいない"小池さん"
・2行ある"山田さん"
このデータの扱いはどうするの?
(ここを処理しないと結局ずれてしまう気がするのだけど)

581:569
10/06/22 07:34:01
>>561さん、>>568さん、>>580さん、レスありがとうございます。
遅くなってしまい、申し訳ありません。

「前月分」とマージした「今月分」は、翌月には「前月分」として使います。
「前月分」はオートフィルタでF列にaと入っているデータだけ表示。
そのデータを「今月分」ファイルのシート2に値として貼り付けて
A列の番号で昇順で並べ替えています。

シート1にある「今月分」も、A列の番号で並べ替えて
シート2の前月分必要データのA列の番号と比較して、シート2に例えば山田さんの列が2行あれば
シート1の山田さん列の下に、1行追加+データコピー(名前とIDなど)をしています。

シート1ではいなくなっているシート2の小池さんは、シート2上で削除。

シート1にいて、シート2にいない人が11田中さんの下の14加藤さんの場合
シート2の11田中さんと、21鈴木さんの間に空行を入れています。
(新しく加わった14加藤さんのE以降は、手動でデータ入力するので、空欄の必要があるため)

あと、前回書き忘れていましたが、シート1とシート2のデータの比較は
シート2のA列の番号をCOUNTIFで数えて、シート1のAC列(データが入っていない列)に表示させています。
1、3、0などと表示されているのを見ながら、列の追加など行っています。

なんだかややこしくてすみません…。

582:名無しさん@そうだ選挙にいこう
10/06/22 10:51:18
>560,581
こういうことをしたいのかな?(Excel2003で3枚のシートを縦に並べたイメージ)
URLリンク(www.dotup.org)
パスワードは 2ch です。
右側のAA列以降は加工後のA列以降と見てください。

583:582
10/06/22 14:14:30
やってることは、
A 前月分のシートから「6列目に"a"がないデータを削除すること
B 前月分のシートに「今月分で初めて出現したデータ」を最下行に追加すること
C 1列目の内容でソート(Bの初出データ行が最下行から移動)
だけではないですか? だったら、月毎に役目が変わる方法じゃなくて、
前月分のシート1を「マスタ」とし、今月分のシートから初出データ行を持ってくる
方が簡単な気がします。違ってたらゴメン。



584:名無しさん@そうだ選挙にいこう
10/06/22 15:13:57
>>471,472,558 です。

 誰もご存知ない様なので他の掲示板へ再投稿してみたいと思います。
 ありがとうございました。m(_ _)m

585:名無しさん@そうだ選挙にいこう
10/06/22 17:20:52
▼━質問テンプレ (出来れば使ってね) ━━━━━━
【1 OSの種類 .】 Windows XP Service Pack 3
【2 Excelのバージョン 】 Excel 2003
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】否
【5 検索キーワード 】Excel セルの幅
1セルに長い文字が入力されている時、
複数段になっても良いので
文字数に合わせてセルの幅を自動調整して、
横にはみ出ないようにすることはできますでしょうか?

つまり
URLリンク(imagepot.net)

URLリンク(imagepot.net)
のようにしたいということです。
以前は出来たのですが、やり方が分からなくなりました。
どうか教えてください。
よろしくお願いいたします。



586:複乳
10/06/22 18:02:48
>>585
右クリック 書式設定 折り返して全体を表示する

587:585
10/06/22 18:07:47
>>586
ありがとうございます。
できました!!


588:名無しさん@そうだ選挙にいこう
10/06/22 19:49:57
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel 2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

C列 D列
前  +200
前   -8
後  -300
前    0
前   +5
後  +800

↑のような場合に
1.C列が「前」の行のD列の数値の合計
2.C列が「前」の行のD列の数値が入っているセルの数の合計

の式を教えていただけないでしょうか
宜しくお願いします

589:名無しさん@そうだ選挙にいこう
10/06/22 20:03:23
>>588さんの便乗質問です。

C列 D列
001  +200
002   -8
003  -300
004    0
005   +5
006  +800

C列は商品のロットNo.です。↑のような場合に
どこかのセル2箇所に「001」と「004」とを入力すると
001~004の範囲のD列の合計をとってくれる方法を(この場合は△108になります)
教えて頂けないでしょうか。

590:名無しさん@そうだ選挙にいこう
10/06/22 20:28:35
>588 処理対象のセル範囲がC1:D6として
=SUMPRODUCT((C1:C6="前")*(D1:D6))  和
=SUMPRODUCT((C1:C6="前")*(D1:D6<>0)) 0以外の数の件数

>589 処理対象のセル範囲がC1:D6として
=SUM(OFFSET(C1,MATCH("001",C1:C6)-1,1):OFFSET(C1,MATCH("004",C1:C6)-1,1))

591:名無しさん@そうだ選挙にいこう
10/06/22 20:31:30
>>589 DSUMであっさりいけました。失礼しました…

592:名無しさん@そうだ選挙にいこう
10/06/22 21:03:22
>>590
ありがとうございます
同じ表で
3.C列が「前」の行のD列の数値で最小値

はどのようになるでしょうか?
MINを使うと思うのですが・・・

593:名無しさん@そうだ選挙にいこう
10/06/22 21:05:17
取引先からもらったエクセルのファイルで、
セルを参照するのに必ず+を付けてあるんですが、
これって何か意味があるんでしょうか?
例えばセルA1を参照する場合は「=+A1」となっています。

594:名無しさん@そうだ選挙にいこう
10/06/22 21:37:33
>>593
「=A1」と入れるかわりに「+A1」と入力しても同じ結果になって、
しかもキーボードによっては入力が楽

たぶんそれ作ったのは年配の人か、手間を惜しむためのテクニックを駆使してる人

595:名無しさん@そうだ選挙にいこう
10/06/22 21:37:58
セルに「0001」と入力すると「1」と表示されます。
文字列に指定すると「0001」と表示できますが、数値として機能しません(足し算とか出来ません)
「0001」と表示させて数値として利用出来ませんでしょうか。

596:560
10/06/22 21:40:02
>>582-583さん
画像までわざわざ上げてくださって、すみません。
今はファイルを見れないのですが、確かにA~Cまでの作業をして
「前月分」にはいるけど「今月分」にはいない人の削除をすれば完了する気がします!
前任者から「今月分に前月分の必要な部分を貼って」と言われたので、それに囚われてました。
明日データを確認してみますが、たぶん行けそうです。ありがとうございました。



597:名無しさん@そうだ選挙にいこう
10/06/22 21:43:24
>592 処理対象のセル範囲がC1:D6として
=MIN(IF(C1:C6="男",D1:D6,""))  最小値
ただし、[Enter]で入力せず、[Ctrl]+[Shift]+[Enter]で入力すること。
そうすると、数式バーの中には {=MIN(IF(C1:C6="男",D1:D6,""))}と表示される。
これは配列数式として見なされていることを示す。

参考 日経PC21 / 配列数式で条件に合うデータの最大や最小、件数を求める
URLリンク(pc.nikkeibp.co.jp)


>595
セルの書式設定([Ctrl]を押しながら[1])
表示形式のタブ
分類のところで「ユーザー定義」
分類 のところに 0000 と入れて[OK]をクリック

参考 Tips:Excelでユーザー・カスタムの書式設定を定義する
URLリンク(www.atmarkit.co.jp)


598:複乳
10/06/22 21:51:30
>>595
0001がA1セルとすると、
B1=A1*1+2
とすればB1に3と出ると思うが
別に*1しなくても計算できるような気もするガ

599:名無しさん@そうだ選挙にいこう
10/06/22 21:55:37
>>597 めっちゃありがとうございます

600:597
10/06/22 21:59:24
× =MIN(IF(C1:C6="男",D1:D6,""))  最小値
○ =MIN(IF(C1:C6="前",D1:D6,""))  最小値 セル範囲の修正に気をとられてた orz

601:名無しさん@そうだ選挙にいこう
10/06/22 22:01:31
>>597
ありがとうございます!助かりました!

602:名無しさん@そうだ選挙にいこう
10/06/22 22:52:51
>>595
文字列でも普通に計算できる
ただしすぐ隣のセルは編集すると書式が勝手に文字列に変わることがあるので注意

603:名無しさん@そうだ選挙にいこう
10/06/23 00:59:07
【1 OSの種類 .】 Windows XP SP3
【2 Excelのバージョン 】 Excel 2003

Alt+F11でVBAのエディタを出したとき、マウスのスクロールボタンで
スクロールができません。何が悪いのでしょうか?
エクセルの表はスクロールできます。


604:名無しさん@そうだ選挙にいこう
10/06/23 02:34:59
>>603
いつからスクロールできなくなった?
マウス買い換えた?

605:名無しさん@そうだ選挙にいこう
10/06/23 05:26:10
もともと出来ない

606:名無しさん@そうだ選挙にいこう
10/06/23 07:59:15
>VBAのエディタを出したとき、マウスのスクロールボタンでスクロールができません。

これ、意外と陥る罠だよな。自宅のPCだとスクロールするのに
会社のPCだとスクロールしないとか。
で、よくよく調べるとスクロールしないのがデフォで
スクロールするのはマウス付属のアプリのおかげだったり。

607:名無しさん@そうだ選挙にいこう
10/06/23 12:10:53
毎日2回、数値のデーターを記録して、最終的にグラフにするつもりなのですが、
2回のうち1回を、記録し忘れてしまうことがあります。
セルを空白にすると、並べ替えたりするときに都合が悪そうなので、
取り忘れは取り忘れとして記録したいのですが、なんと打ち込めばいいんでしょうか?

608:複乳
10/06/23 12:21:16
>>607
何入れても都合悪いでしょ
平均でも入れておけばいいnじゃない

609:名無しさん@そうだ選挙にいこう
10/06/23 12:27:18
体重だな どうでもいいけど

610:名無しさん@そうだ選挙にいこう
10/06/23 12:29:42
(´ω`)

611:593
10/06/23 12:31:24
>>594
ありがとうございます。
おっしゃるとおり年配の方が作ったものです。
確かに=より+の方が入力楽ですね。

612:名無しさん@そうだ選挙にいこう
10/06/23 13:56:48
【1 OSの種類         .】 WindowsVista
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 条件付書式、3つ以上、etc...
現在数列、数百行に渡ってデータが入っている表があるのですが、
それらのデータを基準値からどれだけ乖離しているかでセルの色を変更するか、
フォントの書式を変えたいと思っています
条件付書式での対応を考えたのですが、求められている仕様が「5段階」の変化で困っています
基準値+10、基準値+5、素のまま、基準値-5、基準値-10といった5段階です
基準値の入力された列を追加して差分を出して条件付書式で変化させようと思いましたが、
条件付書式では3つまでしか条件が設定できないので頓挫してしまいました

何か良い解決方法はないでしょうか?

613:複乳
10/06/23 14:26:06
>>612
基準値を100として、
B1=REPT("■",IF(A1>110,5,IF(A1<90,1,(A1-90)/5+1)))
とか。110以上だと5つの"■"が表示される
関数の意味が分からなければifで"■"の数を分岐させてもいいかも

逆に5つのセルに条件付書式を設定して変化させるか(B1-F1のセル)

後は手っ取り早くVBAかね~

614:名無しさん@そうだ選挙にいこう
10/06/23 15:44:21
>>612
Excel2010に乗り換える
条件がいくつでも設定できる

615:名無しさん@そうだ選挙にいこう
10/06/23 16:41:52
Excel2007使用者ですが良いクップボード拡張ソフトはないでしょうか?

Office純正のクップボードはFIFOで古いものが消されます。
Vectorにあるフリーの物はテキストだけだったり
クリックで直接貼り付けられなかったり不便です。
(探し方が足りないのかもしれませんが。)
よろしくお願いします。

616:名無しさん@そうだ選挙にいこう
10/06/23 18:46:37
>>612
別のセルに「”データ”-”基準値”」を作成し
データの書式でプラスを青、マイナスを赤とかにし
データの条件付書式で他の2つの条件をつける

617:名無しさん@そうだ選挙にいこう
10/06/23 19:25:02
>>615
クップボードはクリップボードの間違いです。

618:名無しさん@そうだ選挙にいこう
10/06/23 19:28:26
>>608
>>609
>>607ですがありがとうございます。データなし用の便利なんかってやっぱりないんですか・・
ちなみに体重じゃないです、日経先物が日中に高値と安値をつけた時刻です。

619:名無しさん@そうだ選挙にいこう
10/06/23 20:12:41
>>615
専用スレがあったのでそちらで聞きます。

620:名無しさん@そうだ選挙にいこう
10/06/23 20:17:51
>>618
グラフだけであれば、空白があっても補間できるよ

621:名無しさん@そうだ選挙にいこう
10/06/23 22:18:33
申し訳ないんですがROMってるひまがなくて、

SUMの足し算で40近くのセルを自動計算したいのですが
30が上限の方法しかわからず困ってます。

別の方法がもしあるのでしたらお教えください。

622:名無しさん@そうだ選挙にいこう
10/06/23 22:36:11
>>621
バラバラの位置にあるセルなの?

連続しているんであれば、
=SUM(A1:A10)
=SUM(A1:H1)
のように書けるんだけど

623:名無しさん@そうだ選挙にいこう
10/06/23 22:53:40
>621
数式中の引数の個数が30までって、このことかな?
Excel 2007-2003 ファイル互換について
URLリンク(www.nodai.ac.jp)
の 数式/引数個数 の説明に 旧バージョンと同様、引数の個数は 30個 までに制限されます。とある。
Excel2007までは30個らしい。

Excel2010では255個に拡張されたようです。
URLリンク(office.microsoft.com)  の
Excel 2010 では、数式には 255 個までの引数を含めることができますが、Excel 97-2003 では、
数式内の引数は 30 個までに制限されています。  の部分

>622さんが書いてるような連続した範囲でなくても、集計対象セルが規則的な場合は工夫できます。
(A1,C1,E1・・・、A1,A3,A5・・・など)

40個のセルを一度に集計しなくても、20個ずつ小計を求めて、最終的に小計セル(2個)を足す方法とか、
いろいろありますが、いかが?


624:名無しさん@そうだ選挙にいこう
10/06/23 23:13:12
バラバラでも範囲指定でいっぺんに足せるよ
URLリンク(momoiro.s4.x-beat.com)

625:名無しさん@そうだ選挙にいこう
10/06/23 23:37:46
=sum(a1,b2,c3,・・・)+sum(a5,b6,c7,・・・)

626:621
10/06/24 06:52:51
皆様ありがとうございます
最近頭が固く、そういう方法が浮かばなくなってまいりました(汗
『算数博士』返上です。

丁寧なご返答にも感動しつつ、感謝

ガンバレ NIPPON!



627:名無しさん@そうだ選挙にいこう
10/06/24 09:54:15
just basic

628:名無しさん@そうだ選挙にいこう
10/06/24 13:53:17
【1 OSの種類         .】 Windows7 32bit
【2 Excelのバージョン   】 Excel2003、Excel2010
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 Excel2010 改ページ 印刷
A122、CV1までのセルを使った帳票データを印刷する場合での質問です。
そのデータは行と列の高さや幅を全体的に小さくしてあります。(高さ6、幅1)
ページ設定で「次のページ数に合わせて印刷」にチェックを入れていれば、Excel2003では特に問題なくA4横ピッタリに印刷できていました。
しかし、Excel2010にバージョンアップしていざ印刷しようとするとA4で20枚というとんでもない枚数になってしまいます。
印刷メニュー内の設定で「シートを1ページに印刷」を選ぶとプレビューではきちんと収まっているのですが、いざ印刷が始まるとA4の真ん中にデータの一部しか印刷されていないものが20枚出てきます。
印刷が終わってからそのデータを見ると、改ページ表示がめちゃくちゃになり20分割されています。
改ページ位置の修正も効かず、泣く泣く2003で印刷する羽目になっています。
2010でうまく印刷するにはどうすればいいのでしょうか。



629:名無しさん@そうだ選挙にいこう
10/06/24 15:13:21
>>628
2010は知らないけど
ページ設定の拡大縮小、水平垂直位置、余白・・かなぁ

630:名無しさん@そうだ選挙にいこう
10/06/24 18:50:16
>>626
『算数博士』返上…か。
オレは
『エロ大魔王』返上でつ。w

631:名無しさん@そうだ選挙にいこう
10/06/24 23:47:11

【1 OSの種類         .】 Windows95
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 ペイント
スクリーンショットとbmpファイル出力とセルドット化できるブックを作ったんですが
あと何か機能をつけるとしたら何が必要ですかね

632:名無しさん@そうだ選挙にいこう
10/06/25 00:09:08
シベリアよりレス代行お願いしています。
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 オートフィル 一方のみ 同じ A1*B1 A2*B2
検索キーワードでどうひいていいかわからず、詰まってしまいました。
B3に適当な数値が入れてあり、その下の表に
F6*B3
F7*B3
F8*B3



と、Fの数値にひたすらB3の数値をかける式を入れている列があります。
いちいち手打ちするのが面倒なので、オートフィルでやろうとしたところ、
F6*B3
F7*B4
F8*B5



となってしまいます。どうすれば上のように片方だけの数値を変化させてオートフィルさせることができますか?

633:名無しさん@そうだ選挙にいこう
10/06/25 00:16:32
>>631
個人的に本気で欲しいのはpdfファイルの編集機能
(pdfの作成じゃないよ)
これは作れるなら需要あるとおもう

後は・・大概あるんじゃないかな

Excelでらき☆すたOPを再現してみた
URLリンク(www.nicovideo.jp)
(エクセルのセルにドットを当てはめドット絵ムービー)

他ライフゲームなど
URLリンク(www.nicovideo.jp)エクセル?sort=v
URLリンク(www.nicovideo.jp)
ファミコンエミュなんてのもあったはずだけど見つからないな


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch