【復活求む!】惜しくも解散してしまったバンド|J-ROCK編 >>

なんの関数を使用すれば実現出来るか分からず困っています
空白セルは無視して、値の入っているセルの値を順番に表示したいです。

  A  B  C  D  E  F  G  H
1 X     G  H     () [] {}
2 X     G  H     () [] {}

()には、Aの値、[]にはGの値、{}にはHの値を出力したいです。
説明下手で恐縮ですが、どなたか分かる方がいらっしゃいましたら教えて下さい。

A 回答 (4件)

もっと具体的にして、紙で書いたものを貼り付けるとわかりやすい!


今のでは、わからない!?
    • good
    • 0

確かに説明がわかりにくいですね。



察するに、 () [] {}のセルにA、G、Hの値を表示させたいということですよね?

◆回答
F1セル:『=A1』
F2セル:『=A2』
G1セル:『=C1』
G2セル:『=C2』
H1セル:『=D1』
H2セル:『=D2』

※質問文では1行目と2行目は同じ文字になっていましたが、違うものとして回答しています。
    • good
    • 0

こんにちは



説明と例がさっぱりなので、勝手に解釈。

1行を単位と考えて、「列の最初の方から見て値のあるセルの値だけを詰めて表示したい」と解釈しました。
要は、空白の列を詰めるという意味として・・・

あまり、質問文に例示のようなレイアウトでは使わないとは思いますけれど、添付図の例で、A:H列を対象範囲としてJ列以降に詰めて抽出するものとします。
J1セルに
=IFERROR(INDEX($A1:$H1,SMALL(IF($A1:$H1<>"",COLUMN($A1:$H1)),COLUMN(A1))),"")
の関数式を入力し、Ctrl+Shift+Enterで確定。(←必須です)
確定後、右方、下方にフィルコピーしています。

※ 勝手な解釈なので、意味が違っていたらスルーしてください。
「Excelの関数について教えて下さい」の回答画像2
    • good
    • 0

》 説明下手で…


仰るとおりで、回答できません。
    • good
    • 0

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

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

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

Q何故このようなプログラムだとエクセルに書き込めないのか教えてください。

何故このようなプログラムだとエクセルに書き込めないのか教えてください。

Aベストアンサー

私もPythonは研究を始めたばかりですが、まさかopenpyxlとかのExcel操作ライブラリがインストールされてないなんてオチはないですよね?

あとsheet1.write(str… ってなってますが、ここはセル番地の指定だからstrでは文字列になっちゃうのでまずいと思います。変数countは数値なんだから、そのまま sheet1.write(count, 0 ,str(inputvale)) でいけるのでは?

QエクセルのIF関数について教えてください

エクセル2007を使用しているのですが、IF関数について分からない事があるので分かる方アドバイスをお願いします。

A2には「お急ぎ便」「通常便」「日時指定便」のいづれかの文字が入力されています。
A3には「出荷予定日」  2018/12/1 など入力されています。
A4には「=A3+1」と入力して出荷予定日の翌日の日付が入力されるようにしています。 
     例えばA3が2018/12/1の場合には2018/12/2と表示されます。

私がやりたいことですが、A5のセルに下記の情報を入力したいです。

A2のセルに「お急ぎ便」という特定の文字が含まれている場合には、出荷予定日の翌日に到着させなければいけない為、A4の日付をA5セルに表示させるようにしたいです。

反対に「通常便」「日時指定便」の文字が含まれている場合には、A5セルに何も入力せずに「空白」にしたいです。

私も色々と試行錯誤しながら下記の関数がつかえそうだと考えてみましたが、この文字列はお急ぎ便という文字がはいっている場合は○を表示させて、入っていない場合は×と表示させるものですよね。

=IF(COUNTIF(A2,"*お急ぎ便*")=1,"○,"×")

上記の○の部分に、A4のセルで表示されている文字を表示させるようにしたいのですが、可能でしょうか?×の部分は単純に削除して空白にすればいいと思うので問題がないのですが、○の部分に=A3+1とかA4とか色々と入力しましたが、入力した内容がそのまま表示されてしまって、A4の日付をA5のセルに表示させるのはできないようです。

分かる方がいらっしゃったらアドバイス頂ければ助かります。どうぞよろしくお願いします。

エクセル2007を使用しているのですが、IF関数について分からない事があるので分かる方アドバイスをお願いします。

A2には「お急ぎ便」「通常便」「日時指定便」のいづれかの文字が入力されています。
A3には「出荷予定日」  2018/12/1 など入力されています。
A4には「=A3+1」と入力して出荷予定日の翌日の日付が入力されるようにしています。 
     例えばA3が2018/12/1の場合には2018/12/2と表示されます。

私がやりたいことですが、A5のセルに下記の情報を入力したいです。

...続きを読む

Aベストアンサー

>○の部分に=A3+1とかA4とか色々と入力しましたが、入力した内容がそのまま表示されてしまって

まずは、A5のセルの表示形式を日付にしましょう。

それから、A2には
>「お急ぎ便」「通常便」「日時指定便」のいづれかの文字が入力されています。
なので、部分一致にしなくても

A5=IF(A2="お急ぎ便",A4,"")

でよくないですか?それとも他に文字がプラスされることがあるのですか?

QINDIRECT関数の代替方法は?

先に本スレッドで下記数式を教わり問題を解決することが出来ました。
  =SUM(INDIRECT("E"&MATCH("AAA",A:A,0)&":"&"E"&MATCH("AAA",C:C,0)))
ただ、このINDIRECT関数により、ブックに変更がなくても終了時にブックの保存の要否が尋ねられます。
これを回避するためにINDIRECT関数の使用を止めたいのですが、その方法をお教えいただきたくお願いします。

Aベストアンサー

ちょっと気になったので一言だけ。
別の人がこのシートを使って試算をしたとします。保存しなければいいやと思ってバッテンをクリックしたら「保存しますか」のメッセージが出ずに、いきなり保存されてしまいました。ってことのなりませんか。
ここは作業列を作ってシンプルな式で対応した方が安全な気がします。

Qエクセルについて!!

「作業員データ」シートにはM.N.Oの6~500行まで出勤した作業員の日付、名前、会社名が一覧として書かれています。

そのデータを下記のようにをB.C.F列に各作業員が初めて出勤した日にちのみのデータを自動で詰めて反映させるようにしたいのですが、計算式、マクロ等方法がありましたらご教授いただけたらと思います。

Aベストアンサー

こんばんは!

作業用の列を使えば関数で出来そうですが、
手っ取り早くVBAでの一例です。
尚、M列日付は昇順に並んでいるとします。

画像通りの配置だとして・・・

Sub Sample1()
 Dim myDic As Object
 Dim i As Long, lastRow As Long
 Dim myStr As String
 Dim myKey, myItem, myR, myAry
  Set myDic = CreateObject("Scripting.Dictionary")
   lastRow = Cells(Rows.Count, "B").End(xlUp).Row
    If lastRow > 5 Then
     Union(Range(Cells(6, "B"), Cells(lastRow, "C")), Range(Cells(6, "F"), Cells(lastRow, "F"))).ClearContents
    End If
   lastRow = Cells(Rows.Count, "M").End(xlUp).Row
    myR = Range(Cells(6, "M"), Cells(lastRow, "O"))
     For i = 1 To UBound(myR, 1)
      If Not myDic.exists(myR(i, 2)) Then
       myStr = myR(i, 1) & "_" & myR(i, 3)
       myDic.Add myR(i, 2), myStr
      End If
     Next i
    myKey = myDic.keys
    myItem = myDic.items
     For i = 0 To UBound(myKey)
      myAry = Split(myItem(i), "_")
       Cells(i + 6, "B") = myAry(0)
       Cells(i + 6, "C") = myKey(i)
       Cells(i + 6, "F") = myAry(1)
     Next i
    Set myDic = Nothing
     Range("B:B").NumberFormatLocal = Range("M6").NumberFormatLocal
     MsgBox "完了"
End Sub

※ 関数でないので、データ変更があるたびに
マクロを実行する必要があります。m(_ _)m

こんばんは!

作業用の列を使えば関数で出来そうですが、
手っ取り早くVBAでの一例です。
尚、M列日付は昇順に並んでいるとします。

画像通りの配置だとして・・・

Sub Sample1()
 Dim myDic As Object
 Dim i As Long, lastRow As Long
 Dim myStr As String
 Dim myKey, myItem, myR, myAry
  Set myDic = CreateObject("Scripting.Dictionary")
   lastRow = Cells(Rows.Count, "B").End(xlUp).Row
    If lastRow > 5 Then
     Union(Range(Cells(6, "B"), Cells(lastRow, "C")), Range...続きを読む

Q月末の自動計算

月末火曜日の日付をスタートとして稼働日数を求めたいと思っています。

10月なら9/25~10/30まで
11月なら10/30~11/27まで
12月なら11/27~12/25までの日数を計算したいです。

月末水曜日になると当月の日数に自動で計算が切り替わるよう計算することは可能でしょうか。

わかる方がいれば教えていただきたいです。
※土日は日数に含んでOKです。

Aベストアンサー

No1です

>先程試したところ8と表示されるのですが11/28~今日までが8日という計算でしょうか?
はい。下に示しますように『今日』を対象に計算する式として作成してしまいましたので、12/5(=本日)は11/27(=最終火曜日)から数えて8日目という意味になります。
(シートが自動計算の設定になっていれば、明日になると9と表示されるはずです)

私の勝手な勘違いだったかもしれませんが、「今日が月末火曜日から何日目かを計算する」関数式として考えていましたが、対象が「今日」とは限らなかったのでしょうか?
その場合は、式中の「TODAY()」の部分を対象の日(=シリアル値)に置き換えればそのまま同じ計算が可能なはずです。
例えば、対象の日がA1セルに入力されているとするなら、TODAY()を全てA1に置き換えればよいといった感じです。

>ただ、水曜日になったら前日の火曜日分も含めて計算してほしいです。
翌日の水曜日を2日目と計算したいという意味でしょうか?
(No1の説明を読んでいただければわかりますが)現在の式は、水曜日は1(日目)と表示される式になっています。
修正したい場合は、No1の式より常に1日多い値になれば良いだけなので、式の最後に「+1」を加えれば、お求めの結果になると思います。

>とても複雑な回答で解読できなかったので教えていただけると幸いです
式は少々長いですが、全体としての構成は、単純にIFで場合分けした式になっています。
ご参考までに、大雑把な構成を言葉で示すならば・・・
『対象日(今日)がその月の最終火曜日より前なら、前月の最終火曜日からの日数を数え、後ならその月の最終火曜日からの日数を数える』
という式になっています。

No1です

>先程試したところ8と表示されるのですが11/28~今日までが8日という計算でしょうか?
はい。下に示しますように『今日』を対象に計算する式として作成してしまいましたので、12/5(=本日)は11/27(=最終火曜日)から数えて8日目という意味になります。
(シートが自動計算の設定になっていれば、明日になると9と表示されるはずです)

私の勝手な勘違いだったかもしれませんが、「今日が月末火曜日から何日目かを計算する」関数式として考えていましたが、対象が「今日」とは限らなかったのでしょう...続きを読む

Qエクセル関数

式の中の参照部分を、D1のセルの内容によって変えたいです。
下記が実際の式なのですが
=IFERROR(IF(VLOOKUP(I6,[工場在庫.xlsm]A!$D$3:$D$1000,1,FALSE)=I6,"OK","新規追加!!"),"新規追加!!")

この式の [工場在庫.xlsm]A! の部分をD1のセルから持ってくるにはどうしたらいいかがわかりません。
D1のセルが[工場在庫.xlsm]B!だったら
=IFERROR(IF(VLOOKUP(I6,[工場在庫.xlsm]B!$D$3:$D$1000,1,FALSE)=I6,"OK","新規追加!!"),"新規追加!!")
としたいです。
ご教授お願いいたします。

Aベストアンサー

こんにちは

簡単にやるなら、INDIRECT関数を利用して参照範囲を可変にすればよさそう。

[工場在庫.xlsm]A!$D$3:$D$1000
  ↓ ↓
INDIRECT(D1 & "$D$3:$D$1000")

ただし、INDIRECT関数等は揮発性関数と言われる種類ですので、他の方の質問でこのような(↓)ものもありますのでご注意。
https://oshiete.goo.ne.jp/qa/10893054.html

Q【まとめる関数】

列を下のようにまとめたいのですが可能でしょうか。
わかる方がいればよろしくお願いいたします。
【C列】 【F列】 【G列】
A メロン 1個
A メロン 2個セット
A メロン 3個セット
A メロン 4個セット
A メロン 5個セット
A メロン 6個セット
A メロン 7個セット
A メロン 8個セット
B パイン 1個
B パイン 2個セット
B パイン 3個セット
B パイン 4個セット
B パイン 5個セット
B パイン 6個セット
C りんご 1個
C りんご 2個セット
C りんご 3個セット

▼上記の並びを下記の並びにまとめる方法が知りたいです。▼
【C列】 【F列】 【G列】
A メロン 1個2個セット3個セット4個セット5個セット6個セット7個セット8個セット
B パイン 1個2個セット3個セット4個セット5個セット6個セット
C りんご 1個2個セット3個セット

できればエクセル希望ですがエクセルじゃない方法であれば
それもご教授いただけたらと思います。

Aベストアンサー

添付図参照

I2: =IF(F2<>F1,G2,I1&G2)
F20: =VLOOKUP(C20,C$2:F$18,4,FALSE)
I20: =I19+COUNTIF(A$2:C$18,C20)
G20: =INDEX(I$2:I$18,I20)

Qexcelで同じ数字の個数をそれぞれ知りたい

以下のようにエクセルで一列に温度が羅列されているのですが、
それぞれの温度が何個存在するか出力する方法はないでしょうか?


要素数が6000くらいあるので温度ごとに何個あるか調べるのが難しいです。
32℃は~個、33℃は~個,・・・60℃は~個といったように出力する方法はないでしょうか?



ーーーーーーーーーー
温度
33
32
32
33
32
32
31
32
31
31
31
30
30
30
31
31
30
31
31
30

Aベストアンサー

でしたら、
此で 良いのでは、
ないですか?

代表式、
=SUMPRODUCT((B1=$A$1:$A$6000)+0)

ファイル、
https://1drv.ms/x/s!AjviygfJDgV_2x6eXVKTD909MMXc

尚、
ファイルですが、
必ず 一度、
エクセルで 開き、
ローカルに 別名保存、
してくださいね、

別名保存でないと 駄目ですよ。


そうすれば、
閲覧も、編集も、
叶うものと 思いますよ。

QExcel 2010 が受けている大問題?

アチラコチラで Excel 2010 が正常に動作しなくなったと喧しくなっています。
企業が世間に迷惑をかけた場合、当該企業の役員がマスコミの前で低頭する姿を晒すのが一般的だけど、そういう類のMSの謝罪記事・動画があればご紹介ください。

Aベストアンサー

誰も返事をつけませんね。

>企業が世間に迷惑をかけた場合、当該企業の役員がマスコミの前で低頭する姿を晒す

Windows 10 の2度目の更新の時など、再インストールする羽目になりましたが、その時、MSが謝罪したということはないし、ノートンのアンチウィルスの時もそうでしたが、謝罪したということはありませんね。ノートンの時は、継続使用はやめました。

MS は、アメリカのマスコミでは叩かれるのですが、日本のメディア自体はほとんど、そういうことはしません。

日本人は、おとなしいというか、MSに文句を言うと、相手は、米国の商務省の役人が出てくるので、すぐに、振り上げたこぶしを下げてしまうわけです。そうしても、日本がやったことへのMSの報復はしてきます。だから、触らぬ神に祟りなしなのですね。ご存知でしょうけれども、韓国のように、向こう見ずにもMSに喧嘩をふっかけたりしないわけです。MSがどんな報復措置をしたのかはわかりませんが。

しかし、では日本は優遇されているかというと、世界の中でもガラパゴス化されて、一番差別的に扱われているわけです。なぜ、日本をカモにするのか、私にはよくわからないところです。アメリカと日本の関係をそのまま反映しているのかもしれません。それは、民主党のときも、そうだったようです。

Microsoft Office のアクティベーションの機能をつけたときにも、「我々の利潤のために、多少の顧客の犠牲はやむを得ない」とマスコミに発表したぐらいですから、日本では、ちょっと考えられないです。

ということで、結論しては謝罪などは一切ないと思います。謝罪すると、損害賠償を受けなくてはならないことに、なりかねないかもしれません。

誰も返事をつけませんね。

>企業が世間に迷惑をかけた場合、当該企業の役員がマスコミの前で低頭する姿を晒す

Windows 10 の2度目の更新の時など、再インストールする羽目になりましたが、その時、MSが謝罪したということはないし、ノートンのアンチウィルスの時もそうでしたが、謝罪したということはありませんね。ノートンの時は、継続使用はやめました。

MS は、アメリカのマスコミでは叩かれるのですが、日本のメディア自体はほとんど、そういうことはしません。

日本人は、おとなしいというか、MSに文句...続きを読む

QEXCEL 数字の単位変換について

◆質問本文
EXCELに入力されている数字をk(キロ)やM(メガ)単位に置換えたいのですが、
どのような手順が一番スマートか教えて下さい。

◆やりたいこと
単位が何もついてない数字の羅列が多数あり、下記のように置換えたいです。
1 →1(そのまま)
1.2 →1.2(そのまま)
100 →100(そのまま)
2200 →2.2k
10000 →10k
10500 →10.5k
1500000→1.5M
10000000→10M

Aベストアンサー

こう言う事ですかね?

一般式、
=A1/POWER(1000,ROUNDDOWN((LOG($A1)-(LOG($A1)<0)*2)/3,0))&CHOOSE(ROUNDDOWN((LOG($A1)-(LOG($A1)<0)*2)/3,0)+4,"n","p","mm","","k","t","G")


ファイル、
https://1drv.ms/x/s!AjviygfJDgV_2yY6fGLRCvbwdm4x


尚、
ファイルですが、
Excelで 一度、
開き、
ローカルに 別名保存してから、

其の 保存したファイルを、
扱ってくださいね、

別名保存で ないと、
意味が ないですよ。

其れさえ して頂ければ、
閲覧も、編集も、
叶うと 思いますから。


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

人気Q&Aランキング